数据库主体拥有数据库角色,无法删除
来源:互联网 发布:ds cloud windows 编辑:程序博客网 时间:2024/05/01 19:41
附加数据库后用语句:
USE[NorthWind]
DROPUSER BETTERDEV;
删除用户 BetterDev时报“数据库主体拥有数据库角色,无法删除。”错误,无法删除用户。
解决方法:
通过语句
SELECT[name],[principal_id],[type],[owning_principal_id]FROM sys.database_principals;
查看数据库的所有用户:
(图中条一个选中项应为BETTERDEV 而非 BETTER)
从图上可以看出角色“aspnet_WebEvent_FullAccess”的所有者是 7即“betterdev”,所以无法删除“BETTERDEV”。故用如下语句:
ALTERAUTHORIZATION ON ROLE::aspnet_WebEvent_FullAccessTO dbo;
更改角色的所有者,如果有多个角色的所有者都为“BETTERDEV”则用如下语句:
DECLARE@name varchar(110);
DECLARE@sql varchar(500);
DECLAREMyCursor CURSOR FOR
SELECT [name] FROM sys.database_principalswhere owning_principal_id=7;
OPENMyCursor;
FETCHNEXT FROM MyCursor INTO @name;
WHILE@@FETCH_STATUS = 0
BEGIN
set @sql='ALTER AUTHORIZATION ON ROLE::'+@name+' TO dbo;'
exec(@sql);
FETCH NEXT FROM MyCursor INTO@name;
END;
CLOSEMyCursor;
DEALLOCATEMyCursor;
进行循环删除。
最后用:
USE[ComptPrice]
DROPUSER USER1;
即可顺利删除用户.
同理
删除用户 BetterDev时报“数据库主体拥有数据库框架,无法删除。”错误,无法删除用户。
则先用
- 数据库主体拥有数据库角色,无法删除
- 数据库主体在该数据库中拥有 架构,无法删除。
- 数据库主体在该数据库中拥有架构,无法删除
- 数据库主体在该数据库中拥有 架构,无法删除。
- 数据库主体在该数据库中拥有 架构,无法删除。
- 删除数据库用户时,数据库主体在该数据库中拥有 架构,无法删除解决方法
- sql2005中删除用户出现“数据库主体在该数据库中拥有 架构,无法删除”解决办法
- 删除用户时提示“数据库主体在该数据库中拥有架构”无法删除解决办法
- SQL 2005 "数据库主体在该数据库中拥有 架构,无法删除“处理方法
- 数据库主体在该数据库中拥有 架构,无法删除解决方法
- 数据库主体在该数据库中拥有架构,无法删除解决方法
- 数据库主体在该数据库中拥有 架构,无法删除解决方法
- 数据库主体在该数据库中拥有架构,无法删除的解决方法
- sqlserver2008出现数据库主体在该数据库中拥有架构,无法删除的解决方案
- 数据库主体在该数据库中拥有架构,无法删除。解决方法
- SQL SERVER 2012数据库:删除用户时提示“数据库主体在该数据库中拥有架构”无法删除解决办法
- Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。解决方法
- SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
- 设计模式之桥接模式 及 c++ 实现
- 使panel中的行紧密排列
- dataGridView 显示行号
- the mystery of erasure
- MSSQL 2005 数据库变成可疑
- 数据库主体拥有数据库角色,无法删除
- 学习存储技术的5个阶段
- C++之友元
- 使用nginx配置android文档本地站点
- myeclipse8.6 使用时注册问题破解之法
- 原子操作
- 【BZOJ1087 || SCOI2005】互不侵犯King
- Solving 11 Likely Problems In Your Multithreaded Code
- 有关CPU DSP MCU MPU的几个概念