如果一个数据库,运行在SQL Server 2005下,SQL Server删除用户失败,在删除时提示“数据库主体在该数据库中拥有架构,无法删除”。这是什么原因造成的呢?
SQL Server删除用户失败的原因很简单,就是由于此用户在数据库中拥有某些架构的所有权,将相关架构的用户权限移除或删除架构即可。
此处以一个用户UserA为例,说明具体应进行的操作,注意以下方面:
1、数据库的表、视图、存储过程等等,如果架构为UserA,将其所有者全部改为dbo。
2、在“安全性”-“架构”下,如果名称对象中有UserA这一项,将其直接删除;如果其它对象的所有者是UserA,将其所有者改为dbo
3、在“安全性”-“角色”-“数据库角色”下,打开每一个角色的属性,从“角色列表”中将UserA删除。
做完这几步,基本没有其它问题了,能够顺利地删除无效的数据库用户。
先删除此用户对应的架构,然后在删除对应的用户
SQL Server删除用户的步骤
1、sql server MANAGEMENT STUDIO--》数据库--》安全性--》构架,先删除对应的构架
2、sql server MANAGEMENT STUDIO--》数据库--》安全性--》用户,删除对应的用户先删除此用户对应的架构,然后再删除对应的用户。
【编辑推荐】