通过C#可靠地删除SQL Server 2008上的数据库
我目前正在尝试通过以下代码删除数据库
using Microsoft.SqlServer.Management.Smo; var server = new Server(Server); server.KillAllProcesses("Db"); server.KillDatabase("Db"); 有时它可以工作,但其他人我得到以下例外:
有关如何通过代码可靠地删除数据库的任何想法? 解决方法
要通过SMO可靠地删除数据库,只需调用server.KillDatabase(“Db”);.
MSDN确实声明KillDatabase删除了活动连接,即使它们的示例有点误导.
KillDatabase发出ALTER DATABASE [Db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE,然后DROP DATABASE. KillAllProcesses列出所有连接,并将每个进程发送一个kill作为单独的批处理;假设KillAllProcesses是异步的,则在KillDatabase将DB设置为单用户模式后发生kill时抛出异常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |