我希望能够通过C#的客户端桌面应用程序备份和还原服务器上的数据库。我已经找到了一些可以编程实现备份/还原的示例代码,但是它只能在服务器计算机上备份并仅从服务器计算机还原。用户应该能够通过客户端应用程序选择客户端中的备份文件或在客户端计算机上创建备份文件。
如何远程进行备份/还原?
我希望能够通过C#的客户端桌面应用程序备份和还原服务器上的数据库。我已经找到了一些可以编程实现备份/还原的示例代码,但是它只能在服务器计算机上备份并仅从服务器计算机还原。用户应该能够通过客户端应用程序选择客户端中的备份文件或在客户端计算机上创建备份文件。
如何远程进行备份/还原?
我找到了一个非常有用的远程备份方法:http://www.codeproject.com/Articles/33963/Transferring-backup-files-from-a-remote-SQL-Server。然而,远程还原仍然存在问题。
在服务器上创建一个共享文件夹。然后,如果您想要恢复数据库,则从客户端机器将备份复制到该文件夹中,或者如果您想要在客户端存储备份,则将备份从该文件夹复制到客户端机器中。
当然,客户端必须拥有该共享文件夹的读写权限。
只是一个想法。
在备份时,只需将备份文件名和位置存储在数据库表中。这样您就可以向用户显示它以进行恢复。
仍然可以使用具有动态备份位置参数的数据库代码还原。
*.bak
文件必须在你要恢复的机器上 - 直接在本地磁盘上或者在该机器可以访问的网络共享上。 - marc_s