数据库本地及远程备份

 开启xp_cmdshell命令

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;
--存储过程

 

--实现功能:定时将服务器中SQL SERVER 2000数据库备份到局域网中另一台电脑上
--Full BackUp
--Use Master
alter 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 @ToFileName varchar(200)
Declare @SQLStr varchar(500)
Declare @SQLStr2 varchar(500)
Declare @FlagDel varchar(20)
Set @strDataBaseName='WmsHub'--填写数据库名称(如:Soondy)
Set @FileFlag=@strDataBaseName+'_'+replace(replace(convert(char(20),getdate(),20),':','-'),' ','-')     --备份的文件命名规则:日期-时间.bak
Set @FileFlag='\DBNAME\_\DATE\_\TIME\.BAK'
set @FileFlag=replace(replace(replace(@FileFlag,'\DBNAME\',@strDataBaseName)       
,'\DATE\',convert(varchar,getdate(),112))       
,'\TIME\',replace(convert(varchar,getdate(),108),':','')) 
Set @strUsr='Administrator\Administrator' --需填写域名\用户名(目标机器的Windows登陆名)
Set @strPsw='90-=op[]l;''\'--需填写Windows登陆密码(如:Soondy)
Set @strCmdShell= 'net use \\172.28.185.14\C$ ' + @strPsw + ' /user:' +@strUsr --需填写IP(目标机器的IP地址,如:172.28.185.14)
Set @FullFileName='E:\DBBackup\'+@FileFlag--+'.BAK'--需填写本地备份临时文件的目录,因为需要先备份到本地再copy到目标机器(如:保存目录为E:\DBBackup\)
Set @ToFileName='\\172.28.185.14\E$\Test\' --需填写IP(目标机器的IP地址)以及保存的目录(如:\\172.28.185.14\E$\Test\)
Set @FlagDel='True'--填写True表示删除本地的备份临时文件,填写False或其他字符表示保留该文件
Set @SQLStr='copy '+@FullFileName+' '+@ToFileName
Set @SQLStr2='del ' +@FullFileName

BackUp DataBase  @strDataBaseName  To Disk=  @FullFileName   with init

exec master..xp_cmdshell  @strCmdShell--尝试连接到目标机器
exec Master..xp_cmdshell @SQLStr --拷贝到目标机器上
if (@FlagDel ='True') exec master.. xp_cmdshell @SQLStr2--删除本地的备份临时文件
GO

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值