SQL Server系统表操作一例

作者:leen 来源:ITPOW 日期:2005-8-25

从其它地方拿来的数据库备份在本机上还原,欲除去原有的用户,于是直接在企业管理器里删除,出现“包含有对象,不能删除”的错误。

看来只有直接从系统表里删除该用户了。打开查询分析器:

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 是什么意思?。

相关文章