从SQL pool移除后在Azure门户删除数据库报错如何解决
报错Msg 37106的解决方法
该报错的核心原因是目标数据库与Azure SQL作业代理存在关联,要么是有作业将该库作为执行目标,要么是该库本身就是作业代理的元数据存储库,必须先解除所有关联才能执行删除操作。
操作步骤
- 第一步:确认关联场景
连接到数据库所属的Azure逻辑SQL服务器,执行如下查询确认关联关系:-- 查询所有指向目标数据库的作业 SELECT job_id, name, description FROM [jobagent].[dbo].[sysjobs] WHERE target_database_name = '<你的数据库名称>' -- 查询作业代理的元数据存储库配置 SELECT * FROM [master].[dbo].[sysjobagents] WHERE database_name = '<你的数据库名称>' - 第二步:解除关联
- 如果存在指向该数据库的作业:逐个删除关联作业即可,执行命令:
EXEC [jobagent].[dbo].[sp_delete_job] @job_name = '<查询到的作业名称>'- 如果该数据库是作业代理的元数据存储库:需要先删除对应的作业代理资源。你可以直接在Azure门户对应SQL服务器的「SQL作业代理」面板中删除对应代理,也可以执行Azure CLI命令完成删除:
az sql job-agent delete --resource-group <你的资源组名称> --server <服务器名称> --name <作业代理名称> - 第三步:执行数据库删除
关联解除后等待3分钟左右让Azure配置同步,再执行数据库删除操作即可,也可以直接执行SQL命令删除:DROP DATABASE [<你的数据库名称>]
注意:删除作业或作业代理前请确认相关配置不需要再保留,删除后无法恢复
内容的提问来源于stack exchange,提问作者KCP
相关产品推荐
相关产品推荐

