admin 管理员组文章数量: 887021
2024年1月19日发(作者:js100个入门基础知识)
word
SQL Server2005自动备份的三种方法
刚接手SQL Server数据库的维护,还是菜鸟一个。由于公司大局部项目都是使用这种类型的数据库,于是先研究了下其备份方法。总结有如下三种:
1.
完全使用SQL Server自带的自动备份机制。在这种方式中,通过维护计划调用SQL
Server内置的“备份数据库〞任务并配置定时作业实现。
2.
不使用维护计划,在定时作业中配置备份命令。
3.
不使用维护计划,在master库中编写备份的存储过程,然后配置定时作业调用该存储过程。
下面以SQL Server2005上的操作为例进展说明。
1.
操作前提
要使SQL Server中的定时作业能够正确运行,必须先启动SQL Server代理。SQL Server代理主要提供周期性任务、服务器异常时给sa发送问题告警。详细的解释可参考如下:oft./en-us/library/aa174509(v=sql.80).aspx。
SQL Server的启动方法如下:
1.
在windows下选择“开始〞-》“控制面板〞-》“管理工具〞-》“服务〞,或是选择“开始〞-》“运行〞,在cmd窗口键入“〞,进入到“服务〞界面。
2.
找到SQL Server Agent服务,启动该服务,并将启动类型配置为“自动〞。
1 / 20
word
2.
使用自动备份机制
使用维护计划向导来配置维护计划。操作步骤如下:
1.
使用SQL Server Management Studio打开服务器,选择“管理〞-》“维护计划〞-》“维护计划向导〞。
2.
维护计划向导启动界面中列出了维护计划的主要作用,其中就包含数据库备份。
2 / 20
word
3.
设置维护计划名称。
3 / 20
word
4.
选择“维护任务〞。在这里可以根据指定的备份策略选择全量备份还是增量备份。
4 / 20
word
5.
选择维护任务顺序。如果上一步选择多个维护任务,如此需要在此设置各个维护任务的顺序。
6.
配置维护任务。选择待备份的数据库与备份文件存放路径。
5 / 20
word
6 / 20
word
7 / 20
word
7.
定义维护计划属性。在“选择维护计划属性〞窗口,点击“更改〞进展设置。这里主要设置维护计划对应的定时作业。
8 / 20
word
9 / 20
word
8.
设置维护操作报告选项。维护操作报告可以txt形式存放在数据库运行目录下,也通过发给相关人员。请根据实际需要配置。这里选择默认值。
9.
完成维护计划的创建。显示如下界面明确维护计划创建成功。
10 / 20
word
10.
结果检查。在“管理〞-》“维护计划〞中可看到新建的维护计划,同时在“SQL Server代理〞-》“作业〞中也可看到同名的定时作业。
双击新建的维护计划,查看其属性,可看到维护计划调用了SQL Server自带的“备份数据库〞任务。
11 / 20
word
3.
使用备份命令
使用用户自定义的备份命令时,只需要在配置定时作业时增加备份命令,即可实现自动备份。具体的操作方法如下:
1.
使用SQL Server Management Studio打开服务器,选择“SQL Server代理〞-》“作业〞,右键选择“新建作业〞。
2.
在“新建作业〞窗口中,选择“常规〞页,设置作业名称。其他属性默认。
3.
选择“步骤〞页,点击“新建〞,设置作业步骤。输入步骤名称,类型选择“Transact-SQL脚本〔T-SQL〕〞,选择要备份的数据库,在命令属性中输入如下代码:
12 / 20
word
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开头。备份文件的格式为“〞。
4.
选择“计划〞页,点击“新建〞,设置作业计划。设置计划的名称、类型、执行频率、执行间隔与开始完毕时间。
13 / 20
word
5.
设置完成后,点击“确定〞。其他页可不设置。
6.
检查结果。在“SQL Server代理〞-》“作业〞下,可看到新建的作业。选中作业,右键选择“属性〞,可查看该作业对应的各项设置。
14 / 20
word
4.
使用存储过程
如果需要在同一服务器上备份多个数据库,可选择使用存储过程进展自动备份。具体的操作步骤如下:
1.
使用SQL Server Management Studio打开服务器,选择“数据库〞-》“系统数据库〞-》“master〞-》“可编程性〞-》“存储过程〞,右键选择“新建存储过程〞。
2.
在存储过程创建窗口中,输入如下内容:
USE[master]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
15 / 20
word
CREATEPROC[dbo].[BackupYLData]
AS
DECLARE strDate ASVARCHAR(20)
DECLARE strFileName AsVARCHAR(100)
DECLARE strmand ASVARCHAR(255)
SET strDate=CONVERT(VARCHAR,GETDATE(), 112)
--备份test1数据库
SET strFileName ='F:DB_Baktest1_bak_'+strDate;
EXEC('BACKUP DATABASEtest1TO DISK='''+strFileName+'.dat''')
SET strmand='HaoZipC a -t7z'+strFileName+'.7z '+strFileName+'.dat'
p_cmdshell strmand
IFERROR=0
BEGIN
SET strmand='DEL '+strFileName+'.dat'
p_cmdshell strmand
END
--备份test2数据库
SET strFileName ='F:DB_Baktest2_bak_'+strDate;
16 / 20
word
EXEC('BACKUP DATABASE test2 TO DISK='''+strFileName+'.dat''')
SET strmand='HaoZipC a -t7z '+strFileName+'.7z '+strFileName+'.dat'
p_cmdshell strmand
IFERROR=0
BEGIN
SET strmand='DEL '+strFileName+'.dat'
p_cmdshell strmand
END
以上代码中,粗体局部[dbo].[BackupYLData]表示存储过程名为BackupYLData,F:DB_Baktest1_bak_表示备份文件存放在F:DB_Bak目录下,以test1_bak_开头,test1表示需要备份的数据库名,HaoZipC a -t7z表示使用压缩工具将得到的文件压缩为.7z文件。请根据实际情况修改浅蓝色局部。
3.
存储过程修改完成后,点击工具栏上的“数据库中。
〞将存储过程编译刷新到4.
选择“数据库〞-》“系统数据库〞-》“master〞-》“可编程性〞-》“存储过程〞,右键选择“刷新〞,即可看到新增加的存储过程。
17 / 20
word
5.
新建作业。在“常规〞页输入作业名称。
6.
在“步骤〞页,选择“新建〞,输入执行步骤。注意类型必须选择“Transact-SQL脚本〔T-SQL〕〞,数据库必须选择master〔因为备份的存储过程在master中〕,在命令窗口中输入执行存储过程的命令行。
18 / 20
word
7.
在“计划〞页,点击“新建〞,设置作业计划。
8.
点击“确定〞,完成作业的设置。
5.
其他说明
自动备份作业创建完成后,可在设定的时间点后检查作业是否成功执行:
1.
查看备份目录下是否有文件生成,文件的命名是否符合需求;
19 / 20
word
2.
在“作业〞中,选择相应的作用,右键选择“查看历史记录〞,将会显示作业的执行结果,包括作业执行成功/失败、作业开始执行的时间、作业消耗的时间。
20 / 20
版权声明:本文标题:SQLServer2005自动备份地三种方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705620614h492721.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论