SQL備份所有數據庫腳本

技巧要點:使用遊標循環讀取所有數據庫名,然後定義存放路徑,最後備份所有數據庫到指定存在的本地文件夾中

腳本如下:

declare @fileName varchar(255) --定義備份文件名變量
declare @dbname nvarchar(50)   --定義當前數據庫名變量

declare mycursor cursor fast_forward for select name from master..sysDatabases order by name --定義一個遊標對象

open mycursor --打開遊標
fetch next from mycursor into @dbname--取數據到臨時變量
while @@fetch_status = 0 --系統@@fetch_status = 0 時循環結束
begin

set @fileName = 'D:\數據備份\20140328\'+@dbname+convert(varchar(10),getdate(),112)+'.bak' --定義當前備份文件存放路徑

backup database @dbname to disk=@fileName--循環備份當前數據庫

fetch next from mycursor into @dbname --再次取值
end

close mycursor --關閉遊標
deallocate mycursor --刪除遊標

 

使用方法:打開SQL查詢分析器,按F5直接運行上面的腳本即可

消息提示:tempdb數據庫可能無法備份,會報正在使用中錯誤,其它數據庫備份順利。

發佈了300 篇原創文章 · 獲贊 99 · 訪問量 154萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章