天天看點

mssql資料庫異地進行異地備份的方法

運作sql語句

declare @sql varchar(500) 

select @sql=\'\\10.2.0.1\backup\dbname\'+\'_db_\'+convert(varchar(10),getdate(),112) + 

substring(convert(varchar(10),getdate(),108),1,2) +\'.bak\' 

exec master..xp_cmdshell \'net use \\10.2.0.1\backup 123123 /user:remotehost\hello\' 

backup database dbname to  disk=@sql 

--備份資料庫,這裡的10.2.0.1為遠端計算機的ip,backup為共享檔案夾名,dbname為本地sqlserver伺服器要備份的資料庫,remotehost為遠端計算機的計算機名,123123為密碼,hello為使用者名,請相應替換成實際環境的資料 

go

declare @sql varchar(500) 

select @sql=\'del \'+\'\\10.2.0.1\backup\dbname\'+\'_db_\'+convert(varchar(10),dateadd(day,-7,getdate()),112) + 

substring(convert(varchar(10),dateadd(day,-7,getdate()),108),1,2) +\'.bak\' 

exec master..xp_cmdshell @sql --删除7天前的備份,也就是隻保留7個最新備份 

go