SQL Server 计划自动备份(TSQL 版)
背景:在 SQL Server 中出于数据安全的考虑,所以需要定期的备份
数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时
候进行,所以我们不可能要求管理员每天守到晚上 1 点去备份数据库。
前提:在使用下面的备份方式之前需要确保你的 SQL Server 代理服
务启动,且设置为自动启动(登录账号为本地 Administrator)。否则当
你服务器重启了但是代理服务没有启动,那么自动备份任务就不会执
行。此例方法,使用 TSql 代码自动备份,代码写入【SQL Server
代理】-【作业】。
(1)SQL Server 配置管理器——SQL Server 代理服务——属性—
—登录——本地账号,设置为本机用户和密码,确定,重启服
务器;
(2)SQL Server 配置管理器——SQL Server——属性——登录—
—本地账号,设置为本机用户和密码,确定,重启服务器次;
(3)分享\\192.168.0.179\test 文件夹,且本机登录该地址,记录凭
证(密码);
次文档针对数据库【KJ_Standard_E】,步骤如下:
(1)启动 SQL Server 代理服务(确保 SQL Server Agent 服务以经
启动)。
(2)在 SQL Server Management Studio 程序中,【象资源管理】-
【SQL Server 代理】-【作业】。然后在其中右键【新建作业】
(3)【常规】写好名称;
(4)【步骤】新建
为作业添加 1 个备份步骤,类型是 T-SQL 脚本,然后在命令中
输入如下 SQL 语句,该语句实现了对数据库 KJ_Standard_E
的完整备份,备份文件在 D 盘 Share 文件夹中,文件名就是
Backup +当时备份的日期时间字符串.bak。
Declare @name varchar(250)
Set @name='\\192.168.0.179\test\Backup_'+
CONVERT(varchar(50),GETDATE(),112)+replace(CONVERT(varchar(50),
GETDATE(), 108),':','')+'.bak'
BACKUP DATABASE[KJ_Standard_E] TO
DISK=@name WITH NOFORMAT,NOINIT,NAME= N'Backup-完整数据库备份
',SKIP,NOREWIND,NOUNLOAD
(5)【计划】新建
创建计划比较简单,按照你的需求选择执行周期和时间间隔,
按照创建计划页面来设置就行;
(6)确定后查看文件夹内容,获得备份如下图(为了测试方便,更
改了频率的计划时间):