Сверка данных при merge-репликации - Ограничения
ОГЛАВЛЕНИЕ
Страница 2 из 4
Ограничения
- Сверка только по rowcount доступна для подписчиков SQL Server 6.x или более поздних версий, а сверка rowcount и контрольной суммы доступна только для подписчиков SQL Server7.0/2000.
- Проверка правильности контрольной суммы не должна использоваться, когда основная таблица фильтруется вертикально, но она может использоваться, когда таблица фильтруется горизонтально, потому что контрольная сумма рассчитывается на полную строку.
- Алгоритм контрольной суммы - 32 битный контроль избыточности (CRC цикличный контроль избыточности), который вычисляет значение контрольной суммы для всех столбцов, игнорируя данные в текстовых и image столбцах.
- Таблицы на publisher и на подписчиках должны иметь идентичную структуру (те же самые столбцы в том же самом порядке, с одинаковыми типами данных и одинаковой длины, а также идентичное свойство NULL/NOT NULL). Это необходимо для правильного вычисления контрольной суммы.
- Для копирования данные publisher на подписчика, SQL Server использует утилиту bcp,. Эта утилита может работать в native или символьном режиме. Если Вы используете столбцы данных с плавающей точкой, и ваше приложение имеет гетерогенных подписчиков, то утилита bcp будет работать в символьном режиме и контрольная сумма на publisher и subscriber не будет одинаковой. В таком случае Вы не сможете использовать rowcount и сверку контрольной суммы, придётся ограничиться только сверкой rowcount.
- Вы должны остановить работу службы MSDTC для publisher на всё время сверки (это необходимо для того, чтобы гарантировать неизменность значений subscriber и publisher в течение процесса сверки).
Далее, я хочу по шагам проиллюстрировать, как Вы можете организовать сверку Merge репликации.