首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

同步后删除rowguid列的有关问题

2012-01-29 
同步后删除rowguid列的问题大家好:数据库同步后,有同步的表新增rowguid列,备份恢复在测试数据时想把所有的

同步后删除rowguid列的问题
大家好:
数据库同步后,   有同步的表新增rowguid列,   备份恢复在测试数据时想把所有的rowguid删除!

我用这样的sql:  

use   W1_Au_Test
go
declare   @tbname   varchar(250)    
declare   #tb   cursor  
for     select       name       from       sysobjects   where   xtype= 'u '   and   id   in   (select   id   from   syscolumns   where   name= 'rowguid ')
open   #tb    
fetch   next   from   #tb   into   @tbname  
while   @@fetch_status=0    
begin
exec( 'alter   table   [ '+@tbname+ ']   disable   trigger   all ')  
exec( 'alter   table   [ '+@tbname+ ']   drop   column   RowGuid ')  
exec( 'alter   table   [ '+@tbname+ ']   enable   trigger   all ')  
  fetch   next   from   #tb   into   @tbname    
end
close   #tb
deallocate   #tb  

在查询分析器中执行时,   提示:

Server:   Msg   5074,   Level   16,   State   1,   Line   1
The   object   'DF_PURCHASE_ITEM_rowguid '   is   dependent   on   column   'RowGuid '.
Server:   Msg   5074,   Level   16,   State   1,   Line   1
The   index   'index_4247120 '   is   dependent   on   column   'RowGuid '.
Server:   Msg   4922,   Level   16,   State   1,   Line   1
ALTER   TABLE   DROP   COLUMN   RowGuid   failed   because   one   or   more   objects   access   this   column.

请问怎么解决呢?
谢谢各位!


[解决办法]
帮你顶吧
[解决办法]
sql server 不应该在这里问吧。
[解决办法]
先删除该RowGuid的Default约束和相关的索引
[解决办法]

删除列RowGuid之前,先要删除该列上的相关约束和索引
exec( 'alter table [ '+@tbname+ '] drop column RowGuid ')

热点排行