c#:从嵌入式资源中的备份恢复SQL Server DB

本文关键字:恢复 备份 SQL Server DB 嵌入式 资源 | 更新日期: 2023-09-27 18:10:08

我有一个包含SQL Server 2012数据库备份的文件。我正在使用这个文件与c# WinForms应用程序,创建一个数据库,恢复备份到它,然后执行一些更多的功能。

我不想把这个备份文件添加到我的应用程序中,因为这是一个安全问题。我想我应该将备份添加为嵌入式资源,然后将其保存到临时文件中,从中恢复并删除它。

有更好的方法吗?是否有一种方法可以通过文件路径直接访问嵌入式资源,我可以将其传递给SQL server以在RESTORE DATABASE命令中使用?

c#:从嵌入式资源中的备份恢复SQL Server DB

SQL Server不知道如何从可执行文件中恢复数据库。考虑到您声明您认为它可以作为一个嵌入式资源,我将假设它不是一个"最后已知的好"备份,而更像是一个"默认"备份。

如果我的想法是正确的,那么你基本上是说你有一个默认设置。如果是这种情况,您根本不需要备份,您的代码只需要能够创建一个数据库,并用某些东西填充它,以"成为"默认状态。通过将备份作为资源嵌入,您(在我看来)说明了结构和数据是众所周知的,那么为什么要沿着RESTORE DATABASE路径呢?