首先建立一个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.sql3、新建一个Windows计划任务,定期(比如每天)执行此批处理命令。这个,我就不教了,玩SQL的,不会这个也不知道吧。去控制面版、选择管理工具里的“计划任务”然后按向导去做就好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)