使用Detach、Attach建成的DB有时候受到残留的发布订阅的垃圾侵扰,造成更新脚本无法执行,这种情况在系统上线前的内部测试时经常遇到,下面的几个语句就是用来处理此类情况发生的。
--涉及到发布订阅的字段
select * from syscolumns
where colstat=4096
--涉及到发布订阅的表名
select * from sysobjects
where replinfo>0
将上述记录的检索值改成0就可以了
--allow update system tables
sp_configure 'allow update','1'
go
--reload SQL using new set value
reconfigure with override
go
--更新完成之后,要把允许修改系统表改回来。
--forbid update system tables
sp_configure 'allow update','0'
go
--reload SQL using new set value
reconfigure with override
go