SqlServer2005 自動備份并存儲另一電腦上的存儲過程函數

SqlServer2005自動備份并存儲另一電腦上的存儲函數,想要備份的朋友可以參考下。

代碼如下:
–Full BackUp
–Use Master
CREATE proc [dbo].[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
@FileFlag=replace(replace(convert(char(20),getdate(),20),’:’,”) ,’ ‘,’-‘) –備份的文件命名規則:日期-時間.bak
Set @strUsr=’SOFMTI_TDdministrator’ –需填寫域名用戶名(目標機器的Windows 登陸名)
Set @strPsw=’sofmit’–需填寫Windows 登陸密碼(如:Soondy)
Set @strCmdShell= ‘net use 192.168.0.22c$ ‘ + @strPsw + ‘ /user:’ +@strUsr –需填寫IP(目標機器的IP 地址,如:192.168.2.178)
Set @strDataBaseName=’LilianDB’–填寫數據庫名稱(如:Soondy)
Set @FullFileName=’E:SqlServer自動備份文件’+’LilianDB_backup_’+@FileFlag+’.BAK’
–需填寫本地備份臨時文件的目錄,因為需要先備份到本地再 copy 到目標機器(如:保存目錄為 E:SoondyTest)
Set @ToFileName=’192.168.0.22D$OneCardBak’ –需填寫IP(目標機器的IP 地址)以及保存的目錄(如:192.168.2.178c$Test)
Set @FlagDel=’False’–填寫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–刪除本地的備份臨時文件

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享