SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法

 

 在2005上附加了一个2000下的MDF数据库,提示附加成功后,里面有一个原来数据库的用户,想无法删除这个用户,却遭到系统的拒绝,提示如下:
数据库主体在该数据库中拥有 架构,无法删除。 (Microsoft SQL Server,错误: 15138)
    仔细研究了一下,发现很简单,只要在数据库的安全性-构架中先删除对应的构架(用户名字相同),然后就可以删除用户了。
3、升级到2005后,原来的sql语句执行出错的解决办法。
升级后的sql执行出错提示很多,也很奇怪,比如:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
ODBC 驱动程序不支持所需的属性。

    调试到最后发现,原来只要将sql的连接语句改为“provider=sqloledb.1”,即OLE/DB方式就可以了。因为之前我一直使用ODBC方式连接,也正常使用了56年,想不到升级到sql2005后就出问题了。在2005上附加了一个2000下的MDF数据库,提示附加成功后,里面有一个原来数据库的用户,想无法删除这个用户,却遭到系统的拒绝,提示如下:数据库主体在该数据库中拥有 架构,无法删除。 (Microsoft SQL Server,错误: 15138) 仔细研究了一下,发现很简单,只要在数据库的安全性-构架中先删除对应的构架(用户名字相同),然后就可以删除用户了。 3、升级到2005后,原来的sql语句执行出错的解决办法。升级后的sql执行出错提示很多,也很奇怪,比如: Microsoft OLE DB Provider for ODBC Drivers错误 '80040e21' ODBC 驱动程序不支持所需的属性。 调试到最后发现,原来只要将sql的连接语句改为“provider=sqloledb.1”,即OLE/DB方式就可以了。因为之前我一直使用ODBC方式连接,也正常使用了5、6年,想不到升级到sql2005后就出问题了。


 

 

你可能感兴趣的:(sql,sql,数据库,server,Microsoft)