如何杀死所有死亡的连接?
我在$ error消息中遇到异常:
System.Management.Automation.MethodInvocationException:使用“1”参数调用“KillAllProcesses”的异常:“删除所有活动 服务器'172.0.0.1'的数据库连接失败。 “--->
Microsoft.SqlServer.Management.Smo.FailedOperationException:全部删除 服务器'172.0.0.1'的活动数据库连接失败。 ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: 执行Transact-SQL语句或批处理时发生异常。 ---> System.Data.SqlClient.SqlException:进程ID 68不是活动的 进程ID。
现在我的ps脚本:
# ==== check if db exists and drop db ==== #
if($srv.Databases.Contains("$DbName"))
{
Write-Host -fore Yellow "Dropping existing db: $DbName on Server: $Server"
$srv.KillAllProcesses($DbName)
$srv.KillDatabase($DbName)
# show us errors
$error = $_.Exception
while ( $error.InnerException )
{
$error = $error.InnerException
Write-Host -fore Red $error.Message
}
Write-Host -fore Yellow "Completed deleting db: $DbName on Server: $Server"
}
else {
Write-Host "Database $DbName does not exists"
}
# ==== check if db exists and drop db ==== #
我认为KillAllProcesses会杀死所有内容,但根据错误消息,它不会。
任何想法如何解决这个问题?