2012-12-27 131 views
0

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

+0

请帮助...我该怎么做 – Zaheer

回答

0

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

+1

脚本中应包含什么 – Zaheer

1

两种方法可以做到这一点。备份和恢复只是sql命令,所以你应该像做其他任何一点sql一样来完成它们,例如,一个sql插入语句,不幸的是,你需要知道一些关于系统的公平信息,并且你不会得到进度指示器。使用SQLSMO是另一种可能性,但不确定是否从Java打到.net dll。你可以使用SQLDMO(pre.net),但是你需要安装向后兼容工具,并且你会给自己一个升级头痛,因为DM2012不支持DMO(虽然它似乎有效)。两者都有一个事件,你可以在进度条上打勾,当然如果备份速度相当快,你可以逃避并不打扰。

但是,还有一些需要思考的问题。您可以在系统运行时进行备份,但是当系统处于运行状态时,您无法确定清楚的位置。

恢复需要独占访问权限和高级别的权限,所以它不是你发布的东西,你需要让每个人都离开数据库。

最后但绝不是不重要的,将是非常糟糕的,如果你无意中恢复的版本不再匹配的应用程序的数据库....

个人而言,我会说谁被授权人这样做应该可以在没有你的工具的情况下完成。把它弄下来,意味着有很多代码,以确保它们不会从8个版本之前的试用版中恢复sql2000备份。

我们做了类似的备份恢复代码是应用程序的2%回合。例如,我们使用dbcc等进行预备份检查,以确保它们没有成功备份损坏的分区...

+0

先生,因为我是微软SQL Server的新手,我知道只有创建表插入更新和删除和编写程序。所以请告诉你我一步一步做这个过程 – Zaheer

+0

我不做java,但是你会执行你的代码中的一点sql和备份的SQL是备份数据库[somedatabasename]到磁盘='somefilename'有一点点它,帐户需要对数据库的备份权限,并且帐户sql server正在根据需要向正在使用的文件夹写入权限而运行。这并不难,只需要一些设置。不过这是非常特定的设置,所以你必须在你的系统上完成它。 –

0

您确实需要在这里付出一点努力。

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

对于数据库恢复,请阅读this

您需要拥有适当的权限并访问硬件才能使其工作。