删除复制后出现的问题?
cosio 2005-12-27 08:42:37 因为设置了复制,系统在每个用户表中加了一个字段:msrepl_tran_version
现在取消了复制,这个字段还在用户表中
我写了一存储过程来执行
declare @name char(50)
declare @Sql char(500)
declare tempcur cursor
for select name from ..sysobjects where xtype='U'
open tempcur
fetch next from tempcur into @name
while @@fetch_status=0
begin
set @sql='alter table'
set @Sql=Rtrim(@sql)+' '+Rtrim(@name)
set @sql=Rtrim(@sql)+' '+'drop column msrepl_tran_version'
exec(@sql)
fetch next from tempcur into @name
end
close tempcur
deallocate tempcur
执行后出错:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'DF__Cg_PurRec__msrep__75F6E523' 依赖于 列 'msrepl_tran_version'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE DROP COLUMN msrepl_tran_version 失败,因为有一个或多个对象访问此列。
后来,我又把类似于'DF__Cg_PurRec__msrep__75F6E523' 在sysobjects 里找到全部删除,在运行上面的存储过程,还是会出现:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 '2106399219' 依赖于 列 'msrepl_tran_version'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE DROP COLUMN msrepl_tran_version 失败,因为有一个或多个对象访问此列。
请那位高手解答,