SQLSERVER 資料庫備份指令碼 支援多庫備份

2021-09-21 04:05:54 字數 1677 閱讀 8936

原文:

sqlserver 資料庫備份指令碼-支援多庫備份

--變數定義

declare @backupfile varchar(1024)

declare @backdesc varchar(1024)

declare @filename varchar(1024)

declare @path varchar(1024)

declare @dbname varchar(1024)

declare @extension_name varchar(16)

--備份引數

declare tmp_cur cursor

for select name

from [sys].[databases]

where lower(name) in ( 'db1', 'db2' )

set @path = n'd:\backup\autoback\';

set @extension_name = n'bak';

--生成檔名

set @filename = convert(varchar(1024), getdate(), 120)

set @filename = replace(@filename, ':', '')

set @filename = replace(@filename, '-', '')

set @filename = replace(@filename, ' ', '')

set @filename = @filename + '_' + convert (varchar(3), datepart(ms, getdate()))

+ n'.' + @extension_name

open tmp_cur;

fetch next from tmp_cur into @dbname;

while @@fetch_status = 0

begin

-- 得到完整目標檔案,資料庫將備份到這個檔案中

set @backupfile = @path + @dbname + @filename

--select @backupfile

set @backdesc =@dbname + n'-完整 資料庫 備份'

-- 開始備份, compression 引數表示壓縮,可節省磁碟空間

backup database @dbname to disk = @backupfile with noformat, noinit, name = @backdesc, skip, norewind, nounload, stats = 10, compression

fetch next from tmp_cur into @dbname

endclose tmp_cur;

deallocate tmp_cur;

-- 刪除3天前的備份檔案

declare @olddate datetime

select @olddate = dateadd(d, -3, getdate())

-- 執行刪除 (sql 2008 具備)

execute master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1

備份SQL Server資料庫

搬遷之後,備份資料庫的功能出錯了,原因是原來資料庫與 同一臺伺服器,現在是資料庫與 分別在不同伺服器,引起在備分時,找不到路徑或是沒有許可權儲存。最初版本的儲存過程 setansi nulls ongo setquoted identifier ongo alter procedure dbo us...

備份SQL Server資料庫

搬遷之後,備份資料庫的功能出錯了,原因是原來資料庫與 同一臺伺服器,現在是資料庫與 分別在不同伺服器,引起在備分時,找不到路徑或是沒有許可權儲存。最初版本的儲存過程 set ansi nulls ongo setquoted identifier ongo alter procedure dbo u...

Excel匯入Sqlserver資料庫指令碼

受以前舊同事之託,在www.cppcns.com部落格裡發這段指令碼 exec sp configure show advanced options 1 reconfigure exec sp configure ad hoc distributed querirxtlelxdujes 1 reco...