SQL Express自动备份

分类:  数据库开发管理2008-11-16 15:53  2528人阅读  评论(9)  收藏  举报

--第一步

--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 -i BackupDatabase.sql

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

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

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

USE master

GO

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


USE tempdb

GO

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


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

--第三步

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

设置每天执行..即可.

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

 

分享到: 
查看评论
8楼  kziyl 2011-08-09 14:53发表  [回复]
引用“kjkht0918”的评论:sqlcmd -Smyfend/liangck -E -iG:/BackupDatabase.sql...

直接是-S 数据库名称/express 或者是-S127.0.0.1 或者-S(LOCAL)
7楼  kziyl 2011-08-09 14:51发表  [回复]
很好用的
6楼  ymx1121 2011-06-17 13:09发表  [回复]
很好用。[e01]
5楼  kjkht0918 2010-12-20 13:25发表  [回复]  [引用] [举报]
sqlcmd -Smyfend/liangck -E -iG:/BackupDatabase.sql

您好,这句话我执行起来老是报错,我写的是:
sqlcmd -SCTRL-PC/sa -E -iC:/BackupDatabase.sql
CTRL-PC/sa:前面是我数据库的服务器名,后面是登录名
C:/BackupDatabase.sql:这是我备份路径,
请问这样写错了吗,请指点!!
Re:  kziyl 2011-08-09 14:51发表  [回复]
回复kjkht0918:那是 -S服务器名称/sqlexpress 或者直接是-S127.0.0.1 或-S(local)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值