-----sqlserver 資料異地備份 預設刪除 七天前的資料
-----該**可配置成sqlserver作業裡做排程,或者配置成任務計畫進行執行
----掛載異地碟符
exec
master..xp_cmdshell
'net use w: "\\172.16.30.34\d$" "726" "/user:172.16.30.34\administrator"
', no_output
/*--說明:
w: 是對映網路路徑對應本機的碟符,與下面的備份對應
\\172.16.30.34\d$ 是要對映的網路路徑
172.16.30.34\administrator
172.16.30.34是遠端的計算機名,administrator是登陸的使用者名稱
726 上面指定的administrator使用者的密碼
--*/
gogo
-----用游標:
declare
@snvarchar(200),@del
nvarchar(200
)select@s=
'',@del=''
declare datebak cursor
forselect
[bak]=
'backup database '+
quotename(name)+
'to disk =
''w:
'+name+'_
'+convert(varchar(8),getdate(),112)+
'.bak
''with init',
-----自動刪除七天前的備份檔案
[del]=
'exec master..xp_cmdshell
''del w:
'+name+'_
'+convert(varchar(8),getdate()-
7,112)+
'.bak
'', no_output
'from master..sysdatabases where dbid=
37--
這裡查詢出需要備份的資料庫,可以一次性備份多個資料庫
open
datebak
fetch
next
from datebak into
@s,@del
while
@@fetch_status=0
begin
----對於要刪除的備份檔案進行一場捕獲(解決第一次部分的時候,執行失敗的情況)
begin
try
exec (@del
)
endtry
begin
catch
if@@trancount
>
0begin
@del
endend
catch
exec(@s
)
fetch
next
from datebak into
@s,@del
endclose
datebak
deallocate
datebak
go--
刪除對映
exec master..xp_cmdshell '
net use w: /delete
'go
sqlserver自動備份
一。sqlserver自動作業備份1 開啟sql server management studio 2 啟動sql server 3 點選作業 新建作業 4 常規 中輸入作業的名稱 5 新建步驟,型別選t sql,在下面的命令中輸入下面語句 declare strpath nvarchar 200 ...
SQL server 自動網路備份
企業管理器 管理 sql server 右鍵作業 新建作業 常規 項中輸入作業名稱 步驟 項 新建 步驟名 中輸入步驟名 型別 中選擇 transact sql 指令碼 tsql 資料庫 選擇執行命令的資料庫 命令 中輸入要執行的語句 declare strsql varchar 1000 decl...
SQL Server自動備份指令碼
這幾天在給企業培訓時,幫助他們寫了乙個備份的指令碼,留給大家分享吧。此指令碼的目的是,每週日做完全備份,每週一到週六做差異備份,每週的備份寫入到乙個備份裝置當中,備份裝置起名規則為 備份裝置名 週日日期 下週備份再重新備份到乙個新的備份裝置中。此指令碼編寫完以後,可以做成作業,讓它每天自動完成就可以...