我得到了这个:
“由于数据库正在使用,无法获得独占访问权限。 RESTORE DATABASE异常终止。“
首先,消息告诉我必须连接到主数据库以执行恢复,但我更改了它,我收到了上面的消息。
我正在使用的参数化sql语句是:
cmd.CommandText =“RESTORE DATABASE aguasdelbosque”+ “FROM DISK = @archivo”
答案 0 :(得分:5)
首先需要将所有用户从数据库中删除,看看Kill All Active Connections To A Database如何做到这一点
答案 1 :(得分:1)
恢复数据库的另一种方法是使用SQL Server Management Objects库。要终止所有进程,Server类的方法为KillAllProcesses或KillDatabase。 Database类的方法为SetOffline和SetOnline。要恢复数据库,您可以使用SqlRestore类的Restore方法。欲了解更多信息或进一步阅读,请尝试以下链接。
http://www.sqldbatips.com/showarticle.asp?ID=40
http://social.msdn.microsoft.com/Forums/en/sqlsmoanddmo/thread/08416c9d-0e8d-4021-b5ea-b9dc634c03e8
http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/52638e68-5c88-49f1-9b76-6bfa2387da18
http://sqlblogcasts.com/blogs/seanprice/archive/2007/07/11/Killing-ProcessIDs-using-SMO.aspx
http://www.codeproject.com/KB/database/BackupRestoreWithSmo.aspx