用作業實現自動備份MSSQL資料庫到遠端伺服器

2021-05-22 13:29:47 字數 1531 閱讀 2227

--此**實現sql資料庫遠端備份,放到作業裡面執行可以自動備份資料庫、自動刪除@keepndays天前備份。

--此**將本地所有的使用者資料庫備份到共享目錄「//backupserverip/sharename/資料庫備份」下。

--並刪除天前的備份檔案。要備份成功必須能夠對共享目錄有操作許可權!

sp_configure

'xp_cmdshell',1

go reconfigure

go --建立對映

execmaster..xp_cmdshell

'net use t: //backupserverip/sharename "password" /user:uonun',no_output

go declare@keepndays

int,@s

nvarchar(

max),@del

nvarchar(

max)

select @keepndays = 30,@backupsql=

'',@delsql=

'' select

@backupsql=@backupsql+

char(13)+

'dbcc shrinkdatabase(n'''+

name+

''', 10, truncateonly)'+   

--收縮資料庫

char(13)+

'backup database  '+

quotename(

name)+

'  to disk =''t:/資料庫備份/'+

name+

'_'+

convert(

varchar(8),

getdate(),112)+

'.bak''  with init',   

--備份資料庫

@delsql=@delsql+

char(13)+

'exec master..xp_cmdshell '' del t:/資料庫備份/'+

name+

'_'+

convert(

varchar(8),

getdate()-@keepndays,112)+

'.bak'', no_output'  

--刪除過期備份

frommaster..sysdatabases

wheredbid>6

order bydbid

asc  

--不備份系統資料庫(sql 2008),如果是sql 2000,則為「dbid>6」。

exec(@del)

exec(@s)

go --刪除對映

execmaster..xp_cmdshell

'net use t: /delete', no_output

go sp_configure

'xp_cmdshell',0

go reconfigure

go

ms sql 實現自動備份資料庫

ms sql 實現自動備份資料庫 第一種方式 start 備份資料 declare datestring nvarchar 255 set datestring n d web db back cpgz uniprofile cpgz uniprofile convert varchar datea...

MSSQL 2008 每日自動備份

近期遇到乙個很棘手的問題,sql勿刪了資料。各種著急毫無辦法,最後還是找了專業人士恢復了費用可不小。為了避免此問題再次發生資料庫得備份才行,廢話不多說 1.管理 維護計畫 新建計畫嚮導 2.下一步 3.取個名字 點選更改 4.填選好選項 確定 5.回到之前的視窗 下一步 6.選擇每日要執行的選項 下...

使用作業備份單個或所有sqlserver資料庫

點選 管理 sql server 作業 新建作業 常規選項卡裡,名稱 填寫 定時備份資料庫 啟用 前面選 對勾 以本地伺服器為目標 分類 選擇 資料庫服務 步驟選項卡裡,新建步驟,步驟名 備份資料庫 型別 transact sql指令碼 tsql 資料庫 要備份的資料庫 命令 可同時備份多個資料庫 ...