使用Windows 【管理工具】的【任务计划程序】
操作步骤如下:
1. 选择【创建任务】,填入名称backup_db
2.然后选择【触发器】,假设选择每天执行一次,时间在下午6点。
3.选择【操作】- 新建- 启动程序,程序路径c:\backup.bat 确定
4.修改c:\backup.bat内容为:"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -E -i c:\Backup.sql
5.修改c:\backup.sql 内容,建立c:\backup目录,确认这个目录 Authenticated Users 这个用户有读写的权限
exec [usp_BackupDatabase] '需要备份的数据库名','c:\backup','F'
go
6.在你Master数据库内执行该段存储过程,该存储过程被Windows计划调用。
CREATE PROCEDURE [dbo].[usp_BackupDatabase] @databaseName sysname,@backupPath nvarchar(255), @backupType CHAR (1) AS BEGIN SET NOCOUNT ON ; DECLARE @sqlCommand NVARCHAR(1000) DECLARE @dateTime NVARCHAR(20) SELECT @dateTime = REPLACE ( CONVERT ( VARCHAR , GETDATE(),111), '/' , '' ) + REPLACE ( CONVERT ( VARCHAR , GETDATE(),108), ':' , '' ) IF @backupType = 'F' SET @sqlCommand = 'BACKUP DATABASE [' + @databaseName + '] TO DISK = ' '' +@backupPath+ '\' + @databaseName + ' _Full_ ' + @dateTime + ' .BAK '' ' IF @backupType = ' D ' SET @sqlCommand = ' BACKUP DATABASE [ ' + @databaseName + ' [ TO DISK = '' '+@backupPath+' \ '+ @databaseName + ' _Diff_ ' + @dateTime + ' .BAK '' WITH DIFFERENTIAL ' IF @backupType = ' L ' SET @sqlCommand = ' BACKUP LOG [ ' + @databaseName + ' [ TO DISK = '' '+@backupPath+' \ ' + @databaseName + ' _Log_ ' + @dateTime + ' .TRN '' ' EXECUTE sp_executesql @sqlCommand END |
分类:
Database
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
2010-12-22 ORM的烦恼