实现SQL express版做自动备份数据库的方法

时间:2024-11-27 13:03:20

SQL Server 2005/2008 Express版没有代理组件,不支持维护计划。可以采用下面的办法实现每日备份:

一、在要备份的数据库中创建存储过程。

存储过程名称:sp_BackupDatabase

实现SQL express版做自动备份数据库的方法

二、编写执行存储过程脚本

SQL脚本保存名称:SQLBackupDB.sql

实现SQL express版做自动备份数据库的方法

三、编写批处理文件

bat文件保存名称:ExecBackDB.bat

osql -S xxx -d xxx-U xxx-P xxx -i SQLBackupDB.sql -o LogBackupDB.txt

附osql用法:

[-U 登录 ID]          [-P 密码]
 [-S 服务器]           [-H 主机名]           [-E 可信连接]
 [-d 使用数据库名称]        [-l 登录超时值]       [-t 查询超时值]
 [-h 标题]                  [-s 列分隔符]         [-w 列宽]
 [-a 数据包大小]            [-e 回显输入]         [-I 允许带引号的标识符]
 [-L 列出服务器]            [-c 命令结束]         [-D ODBC DSN 名称]
 [-q "命令行查询"]          [-Q "命令行查询" 并退出]
 [-n 删除编号方式]          [-m 错误级别]
 [-r 发送到 stderr 的消息]  [-V 严重级别]
 [-i 输入文件]              [-o 输出文件]
 [-p 打印统计信息]          [-b 出错时中止批处理]
 [-X[1] 禁用命令,[退出的同时显示警告]]
 [-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
     自动调整控制台宽度
     宽消息
     默认错误级别为 -1 和 1
 [-? 显示语法摘要]

四、服务器上建立一个windows任务计划

任务计划定时执行批处理文件(ExecBackDB.bat)即可。

特别注意,如果服务器系统是Win2008R2,新建操作时起始于(可选)(T)必须填写批处理文件的路径,否则,任务计划不会执行。

实现SQL express版做自动备份数据库的方法