我正在 c# Visual Studio 2010 中开发一个 Windows 窗体应用程序,我想在其中创建一个允许用户自行恢复和备份数据库的功能。问题是我使用的是独立的 mdf 文件。
我通过将 mdf 文件附加到应用程序来使用 sql server express,当我尝试使用查询进行备份时,它可以工作,但是当我尝试使用查询恢复数据库时,它说它没有更改表的权限。然后我尝试使用 smo 但它说无法打开文件。所以我想知道是否有任何选择
要使用 t-sql 创建备份,您可以使用:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\BACKUP\AdventureWorks.bak'
GO
要恢复使用:
RESTORE DATABASE AdventureWorks FROM DISK = 'C:\BACKUP\AdventureWorks.bak'
GO
添加WITH REPLACE
以替换现有数据库。
您可以使用ExecuteNonQuery
.
注意:这适用于标准 SQL Server,但我没有在带有附加数据库文件的 SQL Server Express 上使用它。