MS SQL SERVER中备份所有数据库
建立一個存儲過程,每次備份時執(zhí)行這個過程,如果愿意的話也可以在sql中做個任務(wù)來每周調(diào)用。
CREATE PROCEDURE p_BackAllDatabase
(
?? @path nvarchar(500)?--備份的路徑,不帶后面的/字符
)
AS
--功能:備份所有數(shù)據(jù)庫
--作者:雷俊強(qiáng) 2007年4月17日
declare @back_date varchar(20)??--備份的時間
declare @file varchar(500)??--備份的文件名
declare @dbname varchar(50)??--備份的數(shù)據(jù)庫名
declare @sql varchar(500)??--執(zhí)行備份時的sql
DECLARE dba_database CURSOR FOR??--所有數(shù)據(jù)庫的光標(biāo)
?????? select [name] from sysdatabases order by [name]
SET @back_date = convert(varchar ,getdate(), 112)
OPEN dba_database
FETCH NEXT FROM dba_database into @dbname
WHILE @@FETCH_STATUS = 0
BEGIN
??? IF (@dbname <> 'tempdb')
??? BEGIN
???????? SET @file = @path + '\' + @dbname + '-' +? @back_date + '.bak'?--生成備份的文件名
???????? SET @sql = 'backup database ' + @dbname + ' to disk = ' + ''''+ @file + ''''
???????? PRINT @sql
???????? EXEC (@sql)
??? END
??? FETCH NEXT FROM dba_database? into @dbname
END
CLOSE dba_database
DEALLOCATE dba_database
GO
總結(jié)
以上是生活随笔為你收集整理的MS SQL SERVER中备份所有数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSH的登录限制
- 下一篇: MS SQL入门基础:创建和使用图表