我有一个数据库运行在Sql server 2005合并复制。我想将一些FK列更改为'非空',因为它们应该始终具有值。 SQL服务器将不会让我做,虽然,这是它说:更改列约束空/非空= rowguid复制错误
- 无法修改表。在 合并复制使用的rowguid列上放置默认约束 是无效的。在执行内部 复制过程期间,模式更改 失败。要纠正 操作,请参阅伴随此错误消息的其他错误消息 。交易在触发器中结束。 批次已被中止。
我不试图改变限制在ROWGUID列可言,仅在与充当FK另一列。我想设置的其他列不为空,因为如果没有这些信息(即客户名称,客户名称),记录就没有任何意义。
问题: 有没有一种方法来更新列是“NOT NULL”而不关闭复制,然后再次打开它? 这是甚至是做到这一点的最佳方式 - 我应该使用约束吗?