定时将服务器中SQL SERVER 2000数据库备份到局域网中另一台电脑上
本文尝试阐述如何实现定时将服务器中SQL SERVER 2000数据库备份到局域网中另一台电脑上。
下面分几个步骤进行说明
1.在master数据库中创建存储过程名为Bakup_DataBase。
注意:需要填写一些配置的参数,请参考代码中的提示和例子。
存储过程代码如下:
--实现功能:定时将服务器中SQL SERVER 2000数据库备份到局域网中另一台电脑上
--并删除本地备份临时文件,删除目标机器7天前的备份文件
--Full BackUp
--Use Master
CREATE proc bakup_DataBase
as
Declare @strPsw varchar(50)
Declare @strUsr varchar(50)
Declare @strCmdShell varchar(300)
Declare @strDataBaseName varchar(20)
Declare @FullFileName Varchar(200)
Declare @FileFlag varchar(50)
Declare @FileFlag2 varchar(50)
Declare @ToFileName varchar(200)
Declare @ToFileName2 varchar(200)
Declare @SQLStr varchar(500)
Declare @SQLStr2 varchar(500)
Declare @SQLStr3 varchar(500)
Declare @FlagDel varchar(20)
Set @strDataBaseName='address'--填写数据库名称(如:Soondy)
Set @FileFlag=@strDataBaseName + '_db_' + replace(replace(convert(char(20),getdate(),20),':','-'),' ','-') --备份的文件命名规则:yyyy-mm-dd hh:mi:ss(24小时制).bak
Set @FileFlag2=@strDataBaseName + '_db_' + replace(replace(convert(char(20),getdate()-7,23),':','-'),' ','-') --7天前的文件命名规则:yyyy-mm-dd.bak
Set @strUsr='Administrator\Administrator' --需填写域名\用户名(目标机器的Windows登
陆名)
Set @strPsw='sgyy8888'--需填写Windows登陆密码(如:Soondy)
Set @strCmdShell= 'net use \\192.168.1.6\d$ ' + @strPsw + ' /user:' +@strUsr --需填写IP(目标机器的IP地址,如:192.168.1.6)
Set @FullFileName='E:\database\'+@FileFlag+'.BAK'--需填写本地备份临时文件的目录,因为需要先备份到本地再copy到目标机器(如:保存目录为E:\database\)
Set @ToFileName='\\192.168.1.6\d$\database\' --需填写IP(目标机器的IP地址)以及保存的目录(如:\\192.168.1.6\d$\database\)
Set @ToFileName2=@ToFileName + @FileFlag2 + '*.BAK' --目标机器的文件(yyyy-mm-dd*.bak)
Set @FlagDel='True'--填写True表示删除备份文件,填写False或其他字符表示保留该文件
Set @SQLStr='copy '+@FullFileName+' '+@ToFileName
Set @SQLStr2='del ' +@FullFileName
Set @SQLStr3='del ' +@ToFileName2
BackUp DataBase @strDataBaseName To Disk= @FullFileName with init --备份数据库
sql2000数据库在哪个文件夹p_cmdshell @strCmdShell--尝试连接到目标机器
p_cmdshell @SQLStr --拷贝到目标机器上
if (@FlagDel ='True') exec master.. xp_cmdshell @SQLStr2--执行删除本地的备份临时文件
if (@FlagDel ='True') exec master.. xp_cmdshell @SQLStr3--执行删除7天前远程的备份文件
GO
2.打开SQL Server 企业管理器,在指定需要备份的数据库上面,创建一个维护计划。可按需要设定将来运行这个维护计划的时间/周期。
3.在SQL Server 企业管理器中,管理->SQL Server代理->作业,可以到刚建立的维护计划这个作业。
4.双击这个作业,弹出属性对话框,在"步骤"页->点击"编辑"按钮,在弹出的编辑作业步骤对话框中,修改"常规"页->"命令"的文本内容,改为: EXECUTE master.dbo.bakup_DataBase
5.完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论