从其它地方拿来的数据库备份在本机上还原,欲除去原有的用户,于是直接在企业管理器里删除,出现“包含有对象,不能删除”的错误。
看来只有直接从系统表里删除该用户了。打开查询分析器:
exec sp_configure 'allow updates', 1
reconfigure with override
第一句是执行存储过程sp_configure,允许更新系统表。
第二句是使上面的更新立即生效。由于不建议更新系统表,如果不加with override来强制更新,SQL Server会拒绝它。
允许更新系统表了,执行下面的语句就可以删除用户了。
use [所操作的数据库]
delete from sysusers where name='要删除的用户名'
最后还原为禁止更新系统表。
exec sp_configure 'allow updates', 0
reconfigure with override
注意:以上三段代码分三次执行,不能一次执行,除非你使用了 GO,详见:T-SQL 中的 GO 是什么意思?。