如何删除Microsoft Purview遗留的Azure SQL在用database scoped credential
问题:删除Microsoft Purview实例后,Azure SQL数据库遗留无法删除的数据库范围凭据和用户
使用Microsoft Purview扫描Azure SQL数据库后,当日删除该Purview实例,却在数据库中遗留了无法删除的数据库范围凭据(database scoped credential)和用户。
操作过程
- 创建名为YatesPurview的Microsoft Purview实例,注册Azure SQL资源后,按照微软文档执行以下SQL添加用户:
Create user YatesPurview FROM EXTERNAL PROVIDER GO EXEC sp_addrolemember 'db_owner', YatesPurview GO Create master key Go
- 扫描完成后,数据库中出现与YatesPurview用户关联的数据库范围凭据。当日在Azure门户删除Microsoft Purview资源,12小时后尝试删除YatesPurview用户:
- 执行命令:
DROP USER YatesPurview - 报错信息:
数据库主体拥有数据库范围凭据,无法删除。
- 执行命令:
- 通过
select * from sys.database_scoped_credentials查询到该凭据,尝试删除:- 执行命令:
DROP DATABASE SCOPED CREDENTIAL [https://scanwestus2plxntat.blob.core.windows.net/7fce139c-644d-4bc9-be56-5fd9a2decdd2] - 报错信息:
无法删除凭据'https://scanwestus2plxntat.blob.core.windows.net/7fce139c-644d-4bc9-be56-5fd9a2decdd2',因为它正在被使用。
- 执行命令:
删除Purview资源已超过12小时,该凭据仍显示“正在使用”,求除删除重建数据库外的解决办法。
2022年7月23日更新
根据Victor的正确建议,执行以下步骤解决了问题:
- 停止会话
- 删除会话
- 执行上述SQL删除数据库范围凭据
- 删除用户
内容的提问来源于stack exchange,提问作者David Yates
相关产品推荐
相关产品推荐

