数据库主体在该数据库中拥有 架构,无法删除

by 清泉 17. 十二月 2008 23:16
        刚刚用SQL2005附加了SQL2000上面的DZNT的一个数据库,但是里面的用户下面没了登录名,后我就想把他删除再建个用户,但是也删除不了报错。在SQL Server 2005中架构是做为实体对待的。所以要删除该用户,需要先删除该用户所拥有的架构或更改此架构的所有者。否则会提示”数据库主体在该数据库中拥有架构,无法删除。 
        网上看到的无法删除用户的解决办法是先删除此用户对应的架构,然后在删除对应的用户步骤。
        1。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》构架,先删除对应的构架
        2。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》用户,删除对应的用户
        但有时候这样并不能解决问题,因为此操作的第一步就实现不了,无法删除那个用户所有的架构。遇到此问题我到是烦了一会,但很快找到原因。原来我是用DZNT的后台创建的各个数据表,各个表的架构(在SQL2000下面架构的概念就是所有者)也就是以前的用户名。现在那个用户名虽然可以添加,但在用户映射里面,无法对此用户进行映射,因为数据库里面已经有了这个用户。这时候便想到把数据表的架构改成了DBO,发现还是不行,再查原因,原来在存储过程的架构还没有修改。在表和存储过程的架构全修改别DBO后,原来数据表里面的架构就可以删除了,用户也自然可以删除了。
        关于SQL2005如何修改表及存储过程的架构,请看这里:SQL 2005 如何批量修改表和存储过程的架构

Tags: ,

数据库相关

添加评论



(将显示你的Gravatar头像)  

biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading



Supidea.com 晨飞的梦 @ All Rights Reserved. Powered by BlogYi.NET ver:1.8.0.0. 苏ICP备09011404号

关于博主

kamau
抱着美好的理想背井离乡,这酸甜苦辣只能默默忍受。既然选择了路,就得风雨兼程……

Calendar

<<  五月 2012  >>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

在日历中查看文章

最近的评论

Comment RSS

声明

      本博所发一切破解相关附件只作学习研究交流之用,严禁用于商业用途,请在下载24小时内删除。
      本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2009