码迷,mamicode.com
首页 > 数据库 > 详细

SQL一键备份用户数据库

时间:2015-08-05 08:58:25      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:sql 备份

 

大家都知道,Ms Sql 有自动备份的功能,但如果由于某种原因不能自动备份,或者我们想手动备份的话,就可以用下边的sql语句来执行备份。






--------------------代码开始-------------


 USE [master]




------删除旧数据-------------------------------------------------------------
DECLARE @delTime VARCHAR(100)
SET @delTime = CONVERT(VARCHAR(100), GETDATE(), 126) -----当前时间
EXECUTE MASTER.dbo.xp_delete_file 0,‘D:\DataBak‘,‘bak‘,@delTime,1






DECLARE @FILENAME VARCHAR(500)


DECLARE @DATABakPath VARCHAR(500)


DECLARE @DATABaseName VARCHAR(500)


DECLARE @DATAFullName VARCHAR(500)


SET @DATABakPath = ‘D:\DataBak\‘


DECLARE @temp TABLE(a INT, b INT, c INT) 


DECLARE @exeText VARCHAR(100)


SET @FILENAME = REPLACE(
        REPLACE(
            REPLACE(CONVERT(VARCHAR, GETDATE(), 120), ‘-‘, ‘‘),
            ‘ ‘,
            ‘‘
        ),
        ‘:‘,
        ‘‘
    ) + ‘.bak‘






 


------------遍历所有用户数据库 进行备份------------------------------------------------------------------- 


DECLARE My_Cursor CURSOR --定义游标 
FOR
    (
        SELECT NAME
        FROM   sys.databases
        WHERE  NAME NOT IN (‘master‘, ‘msdb‘, ‘tempdb‘, ‘model‘, 
                           ‘ReportServerTempDB‘, ‘ReportServer‘)
    ) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @DATABaseName; --读取第一行数据 
WHILE @@FETCH_STATUS = 0
BEGIN
    SET @DATAFullName = @DATABakPath + @DATABaseName 
    
    SET @exeText = ‘mkdir ‘ + @DATAFullName --创建备份目录 
    EXEC xp_cmdshell @exeText,
         no_output    
    
    SET @DATAFullName = @DATAFullName + ‘\‘ + @FILENAME + ‘‘
    
    BACKUP DATABASE @DATABaseName TO DISK = @DATAFullName 
    
    FETCH NEXT FROM My_Cursor INTO @DATABaseName; --读取下一行数据
END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
 
 

PRINT ‘-----------备份完成---------------------‘ + CONVERT(VARCHAR(100), GETDATE(), 126)+ ‘---------------‘






--------------------代码结束-------------

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

SQL一键备份用户数据库

标签:sql 备份

原文地址:http://blog.csdn.net/admans/article/details/47291163

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!