sql server 異地備份與刪除

2021-06-21 14:10:45 字數 1552 閱讀 9976

第一種方法

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...