(转)SQL Express自动备份

本文介绍了一种使用 SQL Server 的存储过程实现数据库自动备份的方法。通过创建存储过程并结合批处理文件及任务计划程序,可以实现定期自动备份指定数据库到设定路径的功能。

--第一步

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

 

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/liangCK/archive/2008/11/16/3311933.aspx

转载于:https://www.cnblogs.com/huaga/archive/2009/10/17/1585120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值