SQL Server2005自动备份数据库

时间:2021-02-06 14:08:07
一.使用SQL Server2005自动备份数据库的步骤
1.启动Sql Server Agent 服务
2.创建作业
3.添加常规
4.添加步骤
5.添加计划,设置频率,时间等
二.每个步骤的详细操作
1.启动Sql Server Agent 服务
  打开【配置工具】中的【SQL Server Configuration Manager】窗口,点击【SQL Server配置管理器(本地)】--【SQL Server2005 服务】,右面窗口显示的是当前所有服务的运行状态,右键点击【SQL Server Agent】选择启动菜单。
  SQL Server Agent简介:http://zhidao.baidu.com/question/41264786.html
2.创建作业
  打开【Management Studio】,展开SQL Server代理,右键点击【作业】选择【新建作业】菜单。【选择页】中选择【常规】
3.添加常规
  在2中的【选择页】中选择【常规】选项,输入作业名称
4.添加步骤
  在2中的【选择页】中选择【步骤】,点击窗口下方的【新建】按钮,输入步骤名称、选择操作数据库。在命令输入框中输入作业执行的T-SQL语句,这里备份的语句如下:

****************************************************************
      DECLARE @strPath NVARCHAR(200)
      set @strPath = convert(NVARCHAR(19),getdate(),120)
      set @strPath = REPLACE(@strPath, ':' , '-')
      set @strPath = 'D:/bak/' +'ZWJB' +@strPath + '.bak'
      BACKUP DATABASE [zwjb_10_28] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
*****************************************************************
有关WITH 后面的参数值的含义,请参考:
http://msdn.microsoft.com/zh-cn/library/ms186865.aspx
其中DATABASE [zwjb_10_28]的zwjb_10_28是要备份的数据库,@strPath备份的完成路径
还原数据库:restore database [数据库名] from disk=[磁盘路径]
WITH
NOINIT:不重写备份集的参数
NOUNLOAD:
* convert:函数简介:按照地区代码格式化时间的输入格式
convert(NVARCHAR(19),getdate(),120)
例如:SELECT  CONVERT(nvarchar(19), getdate(), 120),
输出为:2008-11-29 15:45:59
* REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )
用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串表达式的匹配项。
替换':' 是因为路径中有':'会报错
5.添加计划
在2中的【选择页】中选择【计划】选项,点击【新建】按钮。
输入名称、执行频率、每天频率。例如:要每天的凌晨自动备份数据库,执行频率选择每天、每天频率选择‘执行一次’执行时间:0:00:00,持续时间:选择开始时间,不选结束时间。这样SQL Server会在每天凌晨自动执行这个作业,将数据库备份到D:/bak/的目录下,备份的文件名为:ZWJB2008-11-29 15-59-15.bak