我在SQL Server 2008 Express Edition中创建了一个数据库。我可以在VB.net express中编写一个程序来在指定的时间进行每日备份吗?我需要写什么代码?
答案 0 :(得分:2)
为此编写VB.NET应用程序可能有点过头了。您需要编写Windows服务或类似的东西以在无限循环上运行,并找出进行数据库备份的代码。
因为它是快递,当然没有SQL Server代理来运行预定作业。但是,您可以通过从操作系统安排作业来执行相同的操作。这是一篇关于如何实现这一目标的好文章:http://www.fmsinc.com/free/NewTips/SQL/SQLServerExpressDatabase/Automated_Backup.asp。引用文章:
- 使用向导创建新的备份设备(展开Server Objects => New Backup Device)。
- 右键单击新备份设备,然后选择要备份的数据库。
- 选择备份类型(通常为“完整”)。
- 选择作业的名称。如果您愿意,请插入说明。
- 单击“添加”按钮添加设备目标(这是您希望放置备份.bak输出文件的位置)。
- 单击“确定”。备份设备现已设置完毕。对要备份的每个数据库重复步骤3-7。
- 使用以下语法创建批处理文件(这用于执行备份设备)。下面是一个语法示例(请记住使用“BAT”文件扩展名保存此文件):
sqlcmd -S MYSERVER\OFFICESERVERS -E -Q "BACKUP DATABASE MASTER TO TEST"
..where “MYSERVER” is the name of the SQL Server machine.
..where “OFFICESERVERS” is the name of the SQL Server.
..where “Test” is the name of the backup job.
..where “MASTER” is the name of the database.
- 最后,打开Microsoft Windows Scheduler并将上面创建的批处理文件分配给预定的事件。将事件设置为在您希望的位置运行。有关Microsoft Windows计划程序及其有用功能的详细信息,请使用首选搜索引擎搜索Web或查阅Microsoft Windows文档。