I have a database running under Sql server 2005 with merge replication. I want to change some of the FK columns to be ‘not null’ as they should always have a value. SQL server won’t let me do that though, this is what it says:
- Unable to modify table. It is invalid to drop the default constraint
on the rowguid column that is used by
merge replication. The schema change
failed during execution of an internal
replication procedure. For corrective
action, see the other error messages
that accompany this error message. The
transaction ended in the trigger. The
batch has been aborted.
I am not trying to change the constraints on the rowguid column at all, only on another column that is acting as a FK. Other columns I want to set to be not null because the record doesn’t make any sense without that information (i.e. on a customer, the customer name).
Questions:
Is there a way to update columns to be ‘not null’ without turning off replication then turning it back on again?
Is this even the best way to do this – should I be using a constraint instead?
Apparently SSMS makes changes to tables by dropping them and recreating them. So just needed to make the changes using T-SQL statement.