• Базы данных
  • SQL Server
  • Краткие рекомендации по настройке и оптимизации репликации транзакций

Сверка данных при merge-репликации - Ограничения

ОГЛАВЛЕНИЕ

 

Ограничения

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

Далее, я хочу по шагам проиллюстрировать, как Вы можете организовать сверку Merge репликации.