SQL Express自动备份

来源:互联网 发布:蚂蚁金服工作体验知乎 编辑:程序博客网 时间:2024/05/01 04:57

SQL Express自动备份

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

--第一步

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

USE masterGOCREATE 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

 

分享到: 
  • 上一篇:查每个分组前N条记录
  • 下一篇:SQL Server XML应用实例
  • 查看评论
    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)
    原创粉丝点击