使用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
本文提供了解决因残留发布订阅导致数据库更新脚本无法执行的问题方案。通过调整系统配置,禁用受影响的表与字段,再重新配置以恢复正常更新。
962

被折叠的 条评论
为什么被折叠?



