我有一个包含SQL Server 2012数据库备份的文件。我将此文件与C#WinForms应用程序一起使用,该应用程序创建数据库,将备份还原到其中,然后执行更多功能。
我不想将此备份文件添加到我的应用程序中,因为这是一个安全问题。我在想我应该将备份添加为嵌入式资源,然后将其保存到临时文件,从中恢复并删除它。
有更好的方法吗?有没有办法直接通过文件路径访问嵌入式资源,我可以将其传递给SQL Server以在RESTORE DATABASE命令中使用?
答案 0 :(得分:1)
SQL Server不知道如何从生活在可执行文件中的内容恢复数据库。鉴于您声明您认为它可以成为嵌入式资源,我将假设它不是“最后知道好”备份,而是更多“默认”备份。
如果我在这个想法中是正确的,那么你基本上说你有默认设置。如果是这种情况,您根本不需要备份,您的代码只需要能够创建数据库并使用某些内容填充它以“成为”默认状态。通过嵌入备份作为资源,您(在我看来)声明结构和数据是众所周知的,那么为什么要沿着RESTORE DATABASE
路径走?