(转)SQL Express自动备份

--第一步

--在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

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liangCK/archive/2008/11/16/3311933.aspx

posted @ 2009-10-17 17:33  湖海一心  阅读(351)  评论(0)    收藏  举报