通过Java程序备份和还原MS SQL Server数据库

时间:2012-12-27 14:11:55

标签: java sql-server-2005 backup restore

我已经开发了一个带有MS-SQL Server数据库的Java Swing应用程序,现在我想在我的java swing应用程序中提供备份和恢复选项,点击一个按钮它应该备份数据库并恢复数据库的任何可能性我怎么能通过java来做到这一点。请帮忙

3 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点。备份和恢复只是sql命令,因此你可以像执行任何其他的sql一样执行它们,例如一个sql插入语句,遗憾的是你需要了解一下系统才能做到这一点,你就没有进度指示器了。使用SQLSMO是另一种可能性,但不确定是否从java中命中.net dll。您可以使用SQLDMO(pre.net),但是您需要安装向后兼容性工具,并且您会给自己带来升级问题,因为SQL2012不支持DMO(虽然它似乎可以工作)。两个都有一个事件,你可以勾选一个进度条,当然如果备份相当快,你可以逃脱而不打扰它。

然而,还有一些需要考虑的问题。您可以在系统运行时进行备份,但是当您执行此操作时,系统所处的位置就没有明确的位置。

还原需要独占访问权限和高级别的权限,因此不是您需要的东西,而是需要让每个人都离开数据库。

如果您无意中恢复了不再与应用程序匹配的数据库版本,那么最后但是至少会非常糟糕。

就个人而言,我会说有权这样做的人应该能够在没有你的工具的情况下做到这一点。将它降低,意味着需要大量代码才能确保它们不会从您在8个版本之前发布的试用版中恢复sql2000。

我们做了类似的备份恢复代码是应用程序的2%左右。例如,我们使用dbcc等进行备份前检查,以确保它们没有成功备份损坏的数据库......

答案 1 :(得分:0)

您可以编写一个简单的script来备份数据库,并从java调用它。

答案 2 :(得分:0)

你真的需要在这里付出一点努力。

由于您已经可以连接到数据库服务器并向其发送SQL命令,因此请阅读this以使用TSQL进行备份。

对于数据库还原,请阅读this

您需要拥有相应的权限并访问硬件才能使其正常工作。