sqlserver express自动备份数据库

来源:互联网 发布:淘宝上买轮胎可靠吗 编辑:程序博客网 时间:2024/05/16 10:45

转自 http://blog.csdn.net/liangCK/archive/2008/11/16/3311933.aspx

 

 

 

--第一步

--master库中建立一个备份数据库的存储过程.

USE master

GO

CREATE PROC p

      @db_name sysname,         --数据库名

      @bk_path NVARCHAR(1024)     --备份文件的路径

 AS

      IF ISNULL(@db_name,'')=''

            SET @db_name=db_name() ;

     

      DECLARE @dt VARCHAR(50) ;

      SET @dt=@db_name+'_'+CONVERT(VARCHAR(8) , GETDATE() ,112)+'_';

      SET @dt=@dt+REPLACE(CONVERT(VARCHAR(10) ,GETDATE() ,108),':','')

 

      IF RIGHT(@bk_path,1)<>'/'

           SET @bk_path=@bk_path+'/';

 

      EXEC ('BACKUP DATABASE ['+@db_name+'] TO DISK='''+@bk_path+@dt+'.bak'' WITH FORMAT');

GO

 

--第二步

--在某个文件夹里建两个txt文件   --D:/batComand.txt D:/BackupDatabase.txt

--然后batCommand.txt文件内容如下:

sqlcmd -Smyfend/liangck -E -iG:/BackupDatabase.sql

然后保存.将扩展名改为.bat

:这里的-S 服务器名/实例名   -E 是集成安全性

然后BackupDatabase.txt文件内容如下:

USE master

GO

EXEC p '要备份的数据库名','G:/Backup/'

然后保存,将扩展名改为.sql

--第三步

新建任务计划.然后在选择执行哪个任务的时候..单击浏览..选择D:/batCommand.bat

设置每天执行..即可.

备份时的文件名是 : 数据库名_日期_时间.bak