我有一个运行在 Sql server 2005 上的数据库,使用合并复制。我想将一些 FK 列更改为“非空”,因为它们应该始终具有值。但是 SQL server 不允许我这样做,它说:
无法修改表格。删除 rowguid 列上的默认约束条件(由合并复制使用)是无效的。架构更改在执行内部复制过程中失败。有关纠正措施,请参见随此错误消息一起出现的其他错误消息。事务在触发器中结束。批处理已中止。
我根本没有尝试更改 rowguid 列上的约束条件,只是想更改另一列作为 FK 的列。我希望将其他列设置为“非空”,因为如果没有该信息记录就毫无意义(例如客户的客户名称)。
问题: 是否有方法可以更新列为“非空”,而不必关闭然后再次打开复制? 这是否是最好的方法 - 应该使用约束条件吗?
无法修改表格。删除 rowguid 列上的默认约束条件(由合并复制使用)是无效的。架构更改在执行内部复制过程中失败。有关纠正措施,请参见随此错误消息一起出现的其他错误消息。事务在触发器中结束。批处理已中止。
我根本没有尝试更改 rowguid 列上的约束条件,只是想更改另一列作为 FK 的列。我希望将其他列设置为“非空”,因为如果没有该信息记录就毫无意义(例如客户的客户名称)。
问题: 是否有方法可以更新列为“非空”,而不必关闭然后再次打开复制? 这是否是最好的方法 - 应该使用约束条件吗?