加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServerExpress2005 自动备份

发布时间:2020-12-12 13:00:15 所属栏目:MsSql教程 来源:网络整理
导读:? 众所周知SqlServerExpress2005 属于简装版,安装程序五六十兆,在客户的服务器上部署时很畅快。但该数据库无Agent这样对我们进行定时备份保护数据安全带来了麻烦。为了定时备Express2005数据库,可以采取以下方案: ??? 1.编写WindowsService,在服务内调

? 众所周知SqlServerExpress2005 属于简装版,安装程序五六十兆,在客户的服务器上部署时很畅快。但该数据库无Agent这样对我们进行定时备份保护数据安全带来了麻烦。为了定时备Express2005数据库,可以采取以下方案:

??? 1.编写WindowsService,在服务内调用备份数据库方法。

??? 2.使用Windows自带的计划任务。(推荐使用)。?

?? 下面就由我来介绍一下如何用计划任务实现数据库备份的,操作步骤如下:

???? 1. 首先建立一个windows任务计划,打开任务计划向导,选择指定的的exe文件,该文件名为SQLCMD.EXE,位于x:Program FilesMicrosoft SQL Server90ToolsBinn 目录下。

???? 2.然后选择执行周期,假设选择每天上午9点,接着输入Windows用户名和密码。

???? 3.在任务计划向导完成前勾选 “在单击完成时,打开此任务的高级属性”这个CheckBox。

???? 4.修改运行命令为:sqlcmd -S .SQLEXPRESS -E -i e:BackupBackup.sql

? ???????? 注:.SQLEXPRESS 是你的数据库实例, e:BackupBackup.sql 磁盘位置可任意更改。Backup.sql 文件内容为:

  
  
   
   exec
   
    
   
   [
   
   sp_BackupDatabase
   
   ]
   
    
   
   '
   
   需要备份的数据库
   
   名'
   
   ,
   
   F
   
   '
   
    
   
   go
   
    
  
  

6.在你Master数据库内执行该段存储过程,该存储过程被Windows计划调用。

复制代码

  
  --
   
    ============================================= 
   
    --
   
    Author: RyanDing 
   
    Create date: 2010-10-10
   
    Description: 备份数据库
   
    Parameter1: 数据库名
   
    Parameter2: 备份类型 F=全部,D=差异,L=日志
   
    
   
   CREATE
   
    
   
   PROCEDURE
   
    
   
   dbo
   
   ]
   
   .
   
   ]
   
    
   
   @databaseName
   
    sysname,
   
   @backupType
   
    
   
   CHAR
   
   (
   
   1
   
   ) 
   
   AS
   
    
   
   BEGIN
   
    
   
   SET
   
    NOCOUNT 
   
   ON
   
   ; 
   
   DECLARE
   
    
   
   @sqlCommand
   
    
   
   NVARCHAR
   
   (
   
   1000
   
   ) 
   
   @dateTime
   
    
   
   20
   
   ) 
   
   SELECT
   
    
   
   @dateTime
   
    
   
   =
   
    
   
   REPLACE
   
   (
   
   CONVERT
   
   (
   
   VARCHAR
   
   ,255); line-height:1.5!important">GETDATE
   
   (),
   
   111
   
   ),0); line-height:1.5!important">/
   
   '
   
   ,0); line-height:1.5!important">''
   
   ) 
   
   +
   
    
   
   108
   
   ),0); line-height:1.5!important">:
   
   ''
   
   ) 
   
   IF
   
    
   
   @backupType
   
    
   
   SET
   
    
   
   @sqlCommand
   
    
   
   BACKUP DATABASE 
   
   '
   
    
   
   +
   
    
   
   @databaseName
   
    
   
    TO DISK = 
   
   ''
   
   C:Backup
   
   _Full_
   
   .BAK
   
   '''
   
    
   
   D
   
   _Diff_
   
    WITH DIFFERENTIAL
   
   L
   
   BACKUP LOG 
   
   _Log_
   
   .TRN
   
   EXECUTE
   
    sp_executesql 
   
   END
   
    
   
   go
  
  

复制代码

执行计划任务后 查看C盘Backup目录下生成的bak数据库备份文件。

原文地址:http://www.cnblogs.com/ryanding/archive/2010/11/19/1881428.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读