从SQL池中删除数据库后,尝试在azure门户中删除数据库时出现错误



我正在尝试删除azure门户中的数据库。从SQL池中删除后,我得到以下错误:

Msg 37106, Level 16, State 1, Line 7服务器{'servername}上的数据库'{databasename}'正在被作业帐户'jobagent'使用。当与作业帐户相关联时,不能删除或重命名数据库。

我该如何解决这个问题?

如果服务器上没有其他数据库,您可以简单地删除服务器并重新创建它。这会让你绕开这个问题。

按照以下步骤删除数据库

您可以通过右键单击网格中的进程并选择kill process菜单项来终止进程。系统将要求您确认终止相关进程,然后通过该进程终止与数据库的打开连接。此操作就像对单个进程运行kill sql process t-sql命令一样。

删除数据库所有活动连接的方法可以通过生成运行"Kill @spId"命令列表的动态sql命令来实现。

DECLARE @DatabaseName nvarchar(50)
SET @DatabaseName = N'Works'
--SET @DatabaseName = DB_NAME()
DECLARE @SQL varchar(max)
SET @SQL = ''
SELECT @SQL = @SQL + 'Kill ' + Convert(varchar, SPId) + ';'
FROM MASTER..SysProcesses
WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
-- SELECT @SQL
EXEC(@SQL)

与上面的sql代码非常相似,可以通过使用COALESCE来使用其他代码块,如下所示

DECLARE @DatabaseName nvarchar(50)
SET @DatabaseName = N'Works'
DECLARE @SQL varchar(max)
SELECT @SQL = COALESCE(@SQL,'') + 'Kill ' + Convert(varchar, SPId) + ';'
FROM MASTER..SysProcesses
WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
--SELECT @SQL
EXEC(@SQL)

你也可以参考本文

相关内容

  • 没有找到相关文章

最新更新