解析SQL Server Express 2005的自动备份

日期: 2010-11-18 作者:ryanding 来源:TechTarget中国 英文

  众所周知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].[sp_BackupDatabase]  
       @databaseName sysname, @backupType CHAR(1) 
AS 
BEGIN 
       SET NOCOUNT ON; 

       DECLARE @sqlCommand NVARCHAR(1000) 
       DECLARE @dateTime NVARCHAR(20) 

       SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),’/’,”) + 
       REPLACE(CONVERT(VARCHAR, GETDATE(),108),’:’,”)  

       IF @backupType = ‘F’ 
               SET @sqlCommand = ‘BACKUP DATABASE ‘ + @databaseName + 
               ‘ TO DISK = ”C:Backup’ + @databaseName + ‘_Full_’ + @dateTime + ‘.BAK”’ 
        
       IF @backupType = ‘D’ 
               SET @sqlCommand = ‘BACKUP DATABASE ‘ + @databaseName + 
               ‘ TO DISK = ”C:Backup’ + @databaseName + ‘_Diff_’ + @dateTime + ‘.BAK” WITH DIFFERENTIAL’ 
        
       IF @backupType = ‘L’ 
               SET @sqlCommand = ‘BACKUP LOG ‘ + @databaseName + 
               ‘ TO DISK = ”C:Backup’ + @databaseName + ‘_Log_’ + @dateTime + ‘.TRN”’ 
        
       EXECUTE sp_executesql @sqlCommand 
END
go

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

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

ryanding
ryanding

相关推荐

  • Notre Dame对云端SQL Server性能基准的探索实践

    确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。

  • DBA必须掌握的数据库恢复管理技术

    如果没有备份副本,数据库管理员就无法还原数据库,所以DBA在恢复之前倾向于考虑备份是合乎逻辑的。 但是,对我来说,这种逻辑一直是错误的。

  • DBA也要和领导抢饭碗?

    数据库架构师Ziaul Mannan 认为,DBA有成为高管的潜在可能,而这种潜力在过去往往被忽视,他还将证明DBA技能到领导力的转变是可行的。

  • Oracle备份和恢复简史

    这些年来,Oracle数据库备份和恢复方式已经发生了重大变化,特别是在Recovery Manager(RMAN)功能有了进一步改善之后。