SQL Server 2005自动备份设置

一.使用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】选择启动菜单。

2.创建作业

打开【Management Studio】，展开SQL Server代理，右键点击【作业】选择【新建作业】菜单。【选择页】中选择【常规】

3.添加常规

在2中的【选择页】中选择【常规】选项，输入作业名称YPJYAutoBack

4.添加步骤

在2中的【选择页】中选择【步骤】，点击窗口下方的【新建】按钮，输入步骤名称YPJYAutoBack、选择操作数据库YPJYSYS。在命令输入框中输入作业执行的T-SQL语句，这里备份的语句如下：

****************************************************************

DECLARE @strPath NVARCHAR(200)

set @strPath = 'YPJY_'+convert(NVARCHAR(10),getdate(),120)

set @strPath = REPLACE(@strPath, ':' , '-')

set @strPath = REPLACE(@strPath, '-' , '')

set @strPath = 'D:\' +'dbYPJYSYSBackup\' +@strPath + '-Auto_bak'

BACKUP DATABASE [YPJYSYS] TO DISK = @strPath WITH INIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT

*****************************************************************
注:如果要每天都定义一个文件名用此函数:convert(NVARCHAR(10),getdate(),120)
注:如果要每周几都定义一个文件名用此函数:convert(NVARCHAR(10),DATEPART(weekday,getdate()-1),120)

5.添加计划

在2中的【选择页】中选择【计划】选项，点击【新建】按钮。

输入名称YPJYAutoBack、执行频率、每天频率。例如：要每天的凌晨自动备份数据库，执行频率选择每天、每天频率选择‘执行一次’执行时间：0：00：00，持续时间：选择开始时间，不选结束时间。这样SQL Server会在每天凌晨自动执行这个作业，将数据库备份到D:\dbYPJYSYSBackup\的目录下，备份的文件名为：YPJY_2009-06-24-Auto_bak

*******************
对于执行作业不成功的原因,请详细查看具体的原因
1.如果是由于无法打开旧备份文件权限引起的,那么请把作业的所有者定义为:sa;并且删除旧的备份文件.
2.SQL代理服务(和SQL SERVER-MSSQLSERVER)启动用户使用内置用户[LOCAL SYSTEM];
*******************

有关WITH 后面的参数值的含义，请参考以下链接或后面：

http://msdn.microsoft.com/zh-cn/library/ms186865.aspx

其中DATABASE [DatabaseName]的DatabaseName是要备份的数据库，@strPath备份的完成路径

还原数据库：restore database [数据库名] from disk=[磁盘路径]

* convert:函数简介：按照地区代码格式化时间的输入格式

convert(NVARCHAR(19),getdate(),120)

例如：SELECT CONVERT(nvarchar(19), getdate(), 120)，

输出为：2008-11-29 15：45：59

例如：'YPJY_'+convert(NVARCHAR(10),getdate(),120)

输出为：YPJY_20180118

* REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串表达式的匹配项。

替换':' 是因为路径中有':'会报错


备份选项

参　　数
 描　　述
 
BLOCKSIZE
 用字节数指定块的大小（几乎没必要设置这个选项）
 
CHECKSUM | NO_CHECKSUM
 使用CHECKSUM增加页写入备份文件时的有效性检测。NO_CHECKSUM忽略检测操作（这是默认行为）
 
STOP_ON_ERROR | CONTINUE_AFTER_ERROR
 STOP_ON_ERROR选项下，如果发现CHECKSUM错误，将停止备份CONTINUE_AFTER_ERROR下，即使发生验证错误，也会继续备份
 
DESCRIPTION
 指定说明备份集的自由格式文本，帮助标识备份设备的内容
 
EXPIREDATE | RETAINDAYS
 EXPIREDATE指定备份集到期和允许被覆盖的日期。RETAINDAYS指定必须经过多少天才可以覆盖该备份媒体集
 
FORMAT | NOFORMAT
 FORMAT在用于此备份操作的所有卷上写入一个新的媒体标头。既有的标头会被覆盖。如果现有设备中存在条带（条带稍后会讲述），则整个媒体集都将变得不可用。NOFORMAT指定不将媒体标头写入用于此备份操作的所有卷
 
INIT | NOINIT
 INIT指定应覆盖所有既有的备份集，但是保留媒体标头。如果备份集没有过期，或BACKUP语句中的备份集名与备份媒体上的名称不匹配，备份集将不会被覆盖，NOINIT表示备份集将追加到磁盘或磁带设备上，NOINIT是默认选项
 
NOSKIP | SKIP
 NOSKIP检测日期与名称，它是确认备份不会被不适当地覆盖的额外的安全措施。SKIP禁用备份集的过期和名称检查
 
MEDIADESCRIPTION
 媒体集的自由格式文本说明，用来识别媒体的内容
 
MEDIANAME
 整个备份媒体集的名称，最多为128个字符
 
NAME
 备份集的名称
 
NOREWIND | REWIND
 NOREWIND防止应用程序在SQL Server发出BACKUP或RESTORE命令之前使用磁带。有时候磁带设备不支持该选项。REWIND指定SQL Server重绕磁带并释放控制
 
NOUNLOAD | UNLOAD
 UNLOAD指定在备份完成后自动重绕并卸载磁带。NOUNLOAD意思是磁带不会在备份完成后从磁带设备中卸载，并且可以被其他备份操作使用
 
STATS
 在备份过程中返回反馈到客户端。默认为每完成10%就返回信息
 
COPY_ONLY
 SQL Server 2005的新选项，允许你创建一个不破坏备份序列的数据库备份（例如，完整备份和事务日志备份的日志链）
 
