如何实现sql2005 express 版数据库自动备份

如何实现sql2005 express 版数据库自动备份,第1张

1.

首先建立一个windows

任务计划

,打开任务计划向导,选择指定的的

exe文件

,该文件名为SQLCMD.EXE,位于x:\Program

Files\Microsoft

SQL

Server\90\Tools\Binn

目录下。

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

3.在任务计划向导完成前勾选

“在单击完成时,打开此任务的高级属性”这个CheckBox。

4.修改

运行命令

为:sqlcmd

-S

.\SQLEXPRESS

-E

-i

e:\Backup\Backup.sql

注:.\SQLEXPRESS

是你的数据库实例,

e:\Backup\Backup.sql

磁盘位置可任意更改。Backup.sql

文件内容为:

exec[sp_BackupDatabase]'

urtracker

','F'go6.在你Master数据库内执行该段

存储过程

,该存储过程被Windows计划调用。

--=============================================--Author:

RyanDing--Create

date:

2010-10-10--

Description

:

备份数据库--Parameter1:

数据库名--Parameter2:

备份类型

F=全部,

D=差异,

L=日志--=============================================

CREATEPROCEDURE

[dbo].[sp_BackupDatabase]@databaseNamesysname,@backupTypeCHAR(1)ASBEGINSETNOCOUNTONDECLARE@

sqlCommand

NVARCHAR(1000)DECLARE@dateTimeNVARCHAR(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'''EXECUTEsp_executesql@sqlCommandENDgo执行计划任务后

查看

C盘

Backup目录下生成的bak

数据库备份

文件。

一、一些常识:

1、官方不提供“精简版”这种版本的SQL Server。

2、官方提供的单机版,也叫桌面版叫Express版,也许就是你理解的精简版。

3、Express版没有定时任务的功能,所以,无法使用这种版本的自有功能来完成自动备份。

4、但可以利用SQLCMD.exe,结合win带的定时任务来完成自动备份的功能。当然,稳定度和可靠性应该要差一些。

二、Express版SQL Server自动备份的实现:

1、写一个sql 脚本来作数据库备份。

DECLARE   

@backupTime VARCHAR(20)  

DECLARE   

@fileName VARCHAR(1000)    

SELECT  

 @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))    

SELECT  

 @fileName='F:\Database_Backup\DB_'+@backupTime+'.bak'  

backup database DBName to disk=@fileName

注意:

a、DBName就是你的数据库的名称了,备份的文件名形如 DB_201302252140.bak。

b、备份目录F:\Database_Backup\

c、假定这个脚本名backup.sql

2、写一个批处理文件,执行此sql脚本。

例如:backup_database.bat ,我们也把它放在 F:\Database_Backup下。

 sqlcmd -S . -i F:\Database_Backup\backup.sql

3、新建一个Windows计划任务,定期(比如每天)执行此批处理命令。这个,我就不教了,玩SQL的,不会这个也不知道吧。去控制面版、选择管理工具里的“计划任务”然后按向导去做就好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9923294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存