У меня есть база данных, работающая под Sql server 2005 с репликацией слиянием. Я хочу изменить некоторые столбцы FK, чтобы они были «не нулевыми», поскольку они всегда должны иметь значение. Однако SQL-сервер не позволит мне это сделать, вот что он говорит:
- Невозможно изменить таблицу. Недопустимо отбрасывать ограничение по умолчанию для столбца rowguid, используемого репликацией слиянием. Сбой изменения схемы во время выполнения внутренней процедуры репликации. Для корректирующих действий см. другие сообщения об ошибках, которые сопровождают это сообщение об ошибке. Транзакция завершилась в триггере. Пакет был прерван.
Я вообще не пытаюсь изменить ограничения для столбца rowguid, только для другого столбца, который действует как FK. Другие столбцы, которые я хочу установить, не должны быть нулевыми, потому что запись не имеет никакого смысла без этой информации (т.е. о покупателе, имени клиента).
Вопросы. Есть ли способ обновить столбцы, чтобы они были «не нулевыми», не отключая репликацию, а затем снова включая ее? Это даже лучший способ сделать это - вместо этого я должен использовать ограничение?