SQL Server2005自动备份的三种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server2005自动备份的三种方法

刚接手SQL Server数据库的维护,还是菜鸟一个。由于公司大部分项目都是使用这种类型的数据库,于是先研究了下其备份方法。总结有如下三种:

1.完全使用SQL Server自带的自动备份机制。在这种方式中,通过维护计划调用SQL

Server内置的“备份数据库”任务并配置定时作业实现。

2.不使用维护计划,在定时作业中配置备份命令。

3.不使用维护计划,在master库中编写备份的存储过程,然后配置定时作业调用该存

储过程。

下面以SQL Server2005上的操作为例进行说明。

1.操作前提

要使SQL Server中的定时作业能够正确运行,必须先启动SQL Server代理。SQL Server代理主要提供周期性任务、服务器异常时给sa发送问题告警。详细的解释可参考如下链接:/en-us/library/aa174509(v=sql.80).aspx。

SQL Server的启动方法如下:

1.在windows下选择“开始”-》“控制面板”-》“管理工具”-》“服务”,或是选

择“开始”-》“运行”,在cmd窗口键入“services.msc”,进入到“服务”界面。

2.找到SQL Server Agent服务,启动该服务,并将启动类型配置为“自动”。

2.使用自动备份机制

使用维护计划向导来配置维护计划。操作步骤如下:

1.使用SQL Server Management Studio打开服务器,选择“管理”-》“维护计划”-》

“维护计划向导”。

2.维护计划向导启动界面中列出了维护计划的主要作用,其中就包含数据库备份。

3.设置维护计划名称。

4.选择“维护任务”。在这里可以根据指定的备份策略选择全量备份还是增量备份。

5.选择维护任务顺序。如果上一步选择多个维护任务,则需要在此设置各个维护任务的

顺序。

6.配置维护任务。选择待备份的数据库及备份文件存放路径。

7.定义维护计划属性。在“选择维护计划属性”窗口,点击“更改”进行设置。这里主

要设置维护计划对应的定时作业。

8.设置维护操作报告选项。维护操作报告可以txt形式存放在数据库运行目录下,也通

过邮件发给相关人员。请根据实际需要配置。这里选择默认值。

9.完成维护计划的创建。显示如下界面表明维护计划创建成功。

10.结果检查。在“管理”-》“维护计划”中可看到新建的维护计划,同时在“SQL Server

代理”-》“作业”中也可看到同名的定时作业。

双击新建的维护计划,查看其属性,可看到维护计划调用了SQL Server自带的“备份数据库”任务。

3.使用备份命令

使用用户自定义的备份命令时,只需要在配置定时作业时增加备份命令,即可实现自动备份。具体的操作方法如下:

1.使用SQL Server Management Studio打开服务器,选择“SQL Server代理”-》“作

业”,右键选择“新建作业”。

2.在“新建作业”窗口中,选择“常规”页,设置作业名称。其他属性默认。

3.选择“步骤”页,点击“新建”,设置作业步骤。输入步骤名称,类型选择

“Transact-SQL脚本(T-SQL)”,选择要备份的数据库,在命令属性中输入如下代码:

DECLARE @strPath NVARCHAR(200)

set @strPath = convert(NVARCHAR(19),getdate(),120)

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

set @strPath = 'F:\DB_Bak\' +'DB_Bak' +@strPath + '.bak'

BACKUP DATABASE test1 TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT

蓝色部分F:\DB_Bak\表示备份文件的存放目录,DB_Bak表示备份文件以

DB_Bak开头。备份文件的格式为“DB_Bakyyyy-mm-dd hh-mi-ss.bak”。

4.选择“计划”页,点击“新建”,设置作业计划。设置计划的名称、类型、执行

频率、执行间隔及开始结束时间。

5.设置完成后,点击“确定”。其他页可不设置。

6.检查结果。在“SQL Server代理”-》“作业”下,可看到新建的作业。选中作业,

右键选择“属性”,可查看该作业对应的各项设置。

4.使用存储过程

如果需要在同一服务器上备份多个数据库,可选择使用存储过程进行自动备份。具体的操作步骤如下:

1.使用SQL Server Management Studio打开服务器,选择“数据库”-》“系统数据

库”-》“master”-》“可编程性”-》“存储过程”,右键选择“新建存储过程”。

2.在存储过程创建窗口中,输入如下内容:

USE[master]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- Batch submitted through debugger:

SQLQuery1.sql|0|0|C:\Users\Administrator\AppData\Local\Temp\2\~vs A9AA.sql

CREATE PROC[dbo].[BackupYLData]

AS

DECLARE @strDate AS VARCHAR(20)

DECLARE @strFileName As VARCHAR(100)

DECLARE @strCommand AS VARCHAR(255)

SET @strDate=CONVERT(VARCHAR,GETDATE(), 112)

--备份test1数据库

SET @strFileName ='F:\DB_Bak\test1_bak_'+@strDate;

EXEC('BACKUP DATABASE test1TO DISK='''+@strFileName+'.dat''')

SET @strCommand='HaoZipC a -t7z'+@strFileName+'.7z

'+@strFileName+'.dat'

EXEC master..xp_cmdshell @strCommand

IF@@ERROR=0

BEGIN

SET @strCommand='DEL '+@strFileName+'.dat'

EXEC master..xp_cmdshell @strCommand

END

相关文档
最新文档