删除复制后出现的问题?

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 失败,因为有一个或多个对象访问此列。

请那位高手解答,
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cosio 2005-12-27
  • 打赏
  • 举报
回复
用企业管理器打开一个表,一个表中的字段一个删除是可以,可是表多,这样子麻烦!
cosio 2005-12-27
  • 打赏
  • 举报
回复
我数据库正在测试,因为设置了复制以后,我取消复制,表中多了这个字段,我现在想把数据库恢复到原来的状态,也就是不用这个字段,所以想把这个字段删除
lw1a2 2005-12-27
  • 打赏
  • 举报
回复
不要去手动删除那个字段,会出问题
cosio 2005-12-27
  • 打赏
  • 举报
回复
表中有还有这个字段:msrepl_tran_version
浩方软件HFWMS 2005-12-27
  • 打赏
  • 举报
回复
你再检查一下应该是表中已经不存该字段了吧

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧