问题:
在删除数据库用户时出现以下提示
消息 15138,级别 16,状态 1,第 3 行
数据库主体在该数据库中拥有 架构,无法删除。
处理:
把架构的拥有者设置为其它用户,如dbo,再删除
重现方法:
USE [master]
GO
-- 准备测试环境
create login myUser1 WITH PASSWORD= 'sfasfsdf1231231'
go
create user myUser1
go
CREATE SCHEMA [mySa] AUTHORIZATION [dbo]
go
-- 问题原因
ALTER AUTHORIZATION ON SCHEMA::[mySa] TO [myUser1]
go
-- 删除用户,这里会出错
DROP USER myUser1
/* output
消息15138,级别16,状态1,第1 行
数据库主体在该数据库中拥有架构,无法删除。
*/
ALTER AUTHORIZATION ON SCHEMA::[mySa] TO [dbo]
go
DROP USER myUser1
go
/* here OK */
drop login myUser1
go
drop SCHEMA [mySa]