第一種方法
declare @sql varchar(500)
select @sql='\\192.168.0.6\g$\0.10bak\callcenter2013'+'_db_'+convert(varchar(10),getdate(),112) +'.bak'
exec master..xp_cmdshell 'net use \\192.168.0.6\g$\0.10bak glcti /user:192.168.0.6\administrator'
backup database callcenter2013 to disk=@sql --生成備份檔案
godeclare @sql varchar(500)
select @sql='del '+'\\192.168.0.6\g$\0.10bak\callcenter2013'+'_db_'+convert(varchar(10),dateadd(day,-7,getdate()),112) +'.bak'
exec master..xp_cmdshell @sql --刪除7天前的備份,也就是只保留7個最新備份
go注意:如果sql2005xp_cmdshell變錯,要開啟xp_cmdshell
exec sp_configure 'show advanced options', 1
reconfigure
exec sp_configure 'xp_cmdshell', 1
reconfigure
第二種寫法不過沒帶刪除功能
declare @strsql varchar(1000)
declare @strdirname varchar(50)
declare @strcmd varchar(50)
declare @strsend varchar(1000)
declare @strdate varchar(50)
exec master..xp_cmdshell 'net use \\192.168.0.6\g$ glcti /user:192.168.0.6\administrator'
set @strsql='backup database callcenter2013 to disk=''\\192.168.0.6\g$\0.10bak\'
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12'
set @strcmd='md \\192.168.0.6\g$\0.10bak\'
set @strcmd=@strcmd+@strdirname
exec master..xp_cmdshell @strcmd
print @strsql
set @strsql=@strsql+@strdirname+'\callcenter2013.bak'' with init,nounload,noskip,noformat'
print @strsql
exec (@strsql)
下面是好幾種方法,但都不帶刪除功能
SQL Server2005異地自動備份
最近公司剛剛搭建了一台安防綜合平台,綜合平台伺服器上安裝了sql server 2005,由於沒有備份伺服器,所以只能異地備份資料庫了。在網上找了很多的資料,自己整合了一下 一 開啟 sql agent 服務,並設定為 自動 二 備份 1 sql 作業 新建作業,這是在sql2005下的操作,其實s...
SQL Server資料庫實現異地備份
準備 區域網內的兩台電腦。主電腦,備份電腦。原理 通過資料庫維護計畫實現。操作步驟 一 在備份電腦和主電腦上中建立乙個賬戶liuxh和密碼123 自定義 二 在備份電腦中建立備份用的資料夾backfile並將其共享給指定使用者liuxh。如圖 1.選擇使用者 2.分配許可權 三 在主電腦上為sqls...
SQL Server2005異地自動備份方法
最近公司剛剛搭建了一台安防綜合平台,綜合平台伺服器上安裝了sql server 2005,由於沒有備份伺服器,所以只能異地備份資料庫了。在網上找了很多的資料,自己整合了一下 一 開啟sql agent服務,並設定為 自動 二 備份 1 sql 作業 新建作業,這是在sql2005下的操作,其實sql...