Каков наилучший способ обеспечения ссылочной целостности в реплицированной базе данных? - PullRequest
1 голос
/ 20 февраля 2012

Используя SQL SERVER 2005, у меня есть пара вопросов о репликации и ссылочной целостности.

1) Обрабатывает ли репликация ссылочную целостность?

2) Если я выполняю таблицу вставки в родительскую таблицуи затем вставить в дочернюю таблицу, в одной транзакции, на исходной БД - реплицированная БД также будет вести себя так же?Т.е. в реплицированной БД запись должна присутствовать в главной таблице, прежде чем на нее будут ссылаться в дочерней таблице?

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

При условии, что репликация является транзакционной, и у вас есть ссылочная целостность на вашем издателе, тогда все подписчики будут синхронизированы и, следовательно, ссылочная целостность будет сохранена. Порядок вставок соответствует.

0 голосов
/ 20 февраля 2012

Использование репликации не гарантирует вам ссылочную целостность

Ссылочная целостность сохраняется, когда строка удаляется из первичной таблицы и запись все еще существует в своей таблице внешнего ключа, где она ссылается

Использование первичного ключа и внешнего ключа гарантирует это, и просто для дополнительной информации есть команда типа «ON DELETE CASCADE», которая удалит ключ из первичного, если удалена из внешнего ключа

...