技巧要點:使用遊標循環讀取所有數據庫名,然後定義存放路徑,最後備份所有數據庫到指定存在的本地文件夾中
腳本如下:
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數據庫可能無法備份,會報正在使用中錯誤,其它數據庫備份順利。