代码改变世界

SQL SERVER 数据库主体在该数据库中拥有架构,无法删除解决方法

2012-08-31 21:26  robinli  阅读(704)  评论(0编辑  收藏  举报
服务器数据库上建立了一个专属的管理员,因为测试想将其删除,但是总是提示该用户拥有架构不能删除,而且架构显示db_owner也不可更改,我用的是sqlserver2008。在SQL Server2000中删除数据库用户很简单,只要直接删除或者使用Drop User命令就可以了,但是SQL Server2008中直接操作是不行的,这是因为在SQL Server 2008中架构是作为实体对待的。所以要删除该用户,需要先删除该用户所拥有的架构或更改此架构的所有者。否则会提示”数据库主体在该数据库中拥有架构,无法删除。
 
搜索了一下知道每一个数据库用户对应于一个系统登陆帐号,并且每一个架构只能赋予一个用户。所以直接删除用户的架构是不可以的,然后我就新建一个登录名,并且在用户映射里面将db_owner架构付给他,然后就可以删除之前的用户了。