我需要从我的应用程序执行数据库还原.在此之前,我想杀死所有进程,如下所示:
private void KillAllProcessesOnSMARTDatabases(Server targetServer)
{
targetServer.KillAllProcesses(SMART_DB);
targetServer.KillAllProcesses(SMART_HISTORY_DB);
targetServer.KillAllProcesses(SMART_METADATA_DB);
SqlConnection.ClearAllPools();
}
Run Code Online (Sandbox Code Playgroud)
但是,当第一个KillAllProcesses运行时,我得到以下异常:
Microsoft.SqlServer.Management.Smo.FailedOperationException:删除Server'MYServer'的所有活动数据库连接失败.---> Microsoft.SqlServer.Management.Common.ExecutionFailureException:执行Transact-SQL语句或批处理时发生异常.---> System.Data.SqlClient.SqlException:只能杀死用户进程.
用于创建服务器的连接字符串具有sa凭据,但是,需要终止的进程是在其他用户下启动的.我测试了类似的场景,测试成功了.
这种情况最近才开始发生.对我来说,似乎有一些进程没有被用户启动?
| 归档时间: |
|
| 查看次数: |
11470 次 |
| 最近记录: |