程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> SqlServer2005 >> SqlServer2005 自動備份並存儲另一電腦上的存儲過程函數

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_TD\administrator' --需填寫域名\用戶名(目標機器的Windows 登陸名)
Set @strPsw='sofmit'--需填寫Windows 登陸密碼(如:Soondy)
Set @strCmdShell= 'net use \\192.168.0.22\c$ ' + @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.22\D$\OneCardBak\' --需填寫IP(目標機器的IP 地址)以及保存的目錄(如:\\192.168.2.178\c$\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--刪除本地的備份臨時文件
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved