城北·IT俱乐部日常经验分享·城北博客

SQL Server 数据库利用T-SQL命令定时自动备份

浏览: 129    评论: 0

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。

其实这个文章很多地方都可以看到,但你可能这么用都不成功。那其实是因为这个文章中的命令在转发的过程中由于种种原因被修改过了。我这个文章主要就是在原文件的基础是将正确的命令发给大家,让大家保证可以成功使用。


前提:在使用下面的备份方式之前需要确保你的Sqlserver Agent服务启动,切设置为自动启动。否则当你服务器重启了但是Agent服务没有启动,那么自动备份任务就不会执行

(一)使用TSql代码自动备份

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。

(1)启动SQL Server Agent服务(确保SQL Server Agent服务以经启动)。


(2)在SSMS的对象资源管理中“SqlServer 管理”节点下面选择作业。然后在其中新建作业


(3)为作业添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在d盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak。

(城北想说:这里要注意将TestDB1修改成你要备份的数据库名称,下面是修改好,能成功的命令了。)

declare @name varchar(250)
set @name='d:\Backup\TestDB1_'+
convert(varchar(50),getdate(),112)+'.bak'
BACKUP DATABASE[TestDB1]TO 
DISK=@name
WITH NOFORMAT, NOINIT, 
NAME = N'TestDB1-完整 数据库 备份',
SKIP, NOREWIND, NOUNLOAD

(4)创建好步骤以后,接下来就是创建计划。创建计划比较简单,按照你的需求选择执行周期和时间间隔,按照创建计划页面来设置就行


 


全文详见:http://it-club.cn/post/71.html

TOP


评论列表


发表评论
来宾的头像