SQL Server系统表操作一例

复制代码 代码如下: sp_configure ‘allow
updates’,’1′ go reconfigure with override go update sysobjects set uid=1
where uid1 go sp_configure ‘allow updates’,’0′ go reconfigure with
override 在查询分析器里面执行一次就行,执行第二次会报错

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

通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器。
因为此了一个脚本来批量执行。 环境:redgate + mssql 2008 r2
以下代码根据自己的业务稍做修改即使用。 复制代码 代码如下: –允许对系统表进行更新 exec
sp_configure ‘allow updates’,1 reconfigure with override GO
–取消标识列标记 update syscolumns set colstat = 0 where id =
object_id(‘tablename’) and colstat = 1 GO –插入id=8001-8003的行
–恢复标识列标记 update syscolumns set colstat = 1 where id =
object_id(‘tablename’) and name = ‘标识列名称’ –重新设置标识的起始值
DBCC CHECKIDENT (表名称, RESEED, 10003) –禁止对系统表进行更新 exec
sp_configure ‘allow updates’,0 reconfigure with override
还有很多批量操作的知识, 如批量检查索引是否准确 字段的长度是否一致
作业是否运行结果一致 服务是否同时启动 …… 都需要批量来处理。
可参考我其他的文章获取其他批量操作的方法。

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