Разделы новостей
Последние новости:
Железо
Софт
Интернет
Наука и техника
Электронная коммерция

Разделы статей



Сверка данных при Merge репликации

По материалам статьи Alexander Chigrik на SWYNK.COM: "Data Validation for Merge Replication"

Microsoft SQL Server 7.0/2000 позволяет Вам проверять предназначенные для Merge репликации данные. Вы можете определить только rowcount (число строк, на которые воздействовал последний запрос) для проверки данных статьи или rowcount и сверку контрольной суммы.








Разместить статью на этом сайте





Если Вы определяете rowcount только для сверки, тогда SQL Server вычисляет rowcount на уровне publisher, затем сравнивает результат с rowcount на уровне subscriber, для проверки того, что данные синхронизированы. Когда Вы выбираете rowcount и проверку правильности контрольной суммы, в этом случае SQL Server вычисляет rowcount и контрольную сумму для publisher, затем сравнивает результат с rowcount и контрольной суммой для subscriber. Причём, если размер данных репликации был очень большой, Вы можете задать для сверку только проверку rowcount. Процесс сверки работает в скрытом режиме, то есть он не прерывает транзакций на publisher, и текущий процесс репликации не будет остановлен.

Merge Agent посылает системное сообщение 20574, если обнаружен сбой проверки, или системное сообщение 20575, если сверка проходит удачно. Merge Agent будет копировать изменения на subscriber, даже если сверка будет показывать, что subscriber не находится в синхронизации. Вы можете исследовать Windows NT или Windows 2000 Application log, чтобы увидеть там результаты отражения работы сверки данных (системные сообщения 20574 и 20575 будут записаны в Application log). Вы можете также так настроить Replication Alert на системные сообщения 20574 и 20575, чтобы при сбое проверки администратору посылалось письмо по электронной почте, сообщение на пейджер или сетевое уведомление.

Ограничения:

  • Сверка только по 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 репликации.

    ШАГ - 1

    Прежде всего, Вы должны организовать выдачу следующих предупреждений для репликации:

  • - Subscriber has failed data validation
  • - Subscriber has passed data validation Эти предупреждения генерируются системными сообщениями 20574 и 20575 соответственно.

    Откройте в Enterprise Manager дерево нужной базы данных и щёлкните по Replication Monitor. Далее, откройте таким же образом Replication Alerts, и затем, щелкните правой кнопкой мыши по предупреждению "Subscriber has failed data validation". После этого, нужно выбрать пункт Properties. Отметьте галочкой чекбокс Enabled, и нажмите кнопку Apply (применить). Повторите эту процедуру для предупреждения "Subscriber has passed data validation".

    ШАГ - 2

    Теперь Вы можете использовать SQL Server Enterprise Manager или параметры командной строки Merge Agent, чтобы настроить непосредственно сверку для Merge репликации.

    Чтобы сверить объединяемые данные, используя SQL Server Enterprise Manager, откройте Replication Monitor, затем папку Publishers (Издатели), выберите там нужный publisher, щелкните правой кнопкой мыши по Merge publication, и выберите в выпадающем окне "Validate All Subscriptions". В следующем окне, Вы можете выбирать сверку только rowcount, сверку rowcount и проверку контрольной суммы, или сверку rowcounts и бинарного сравнения контрольной суммы (только для связки SQL2K/SQL2K). Выберите "Verify the row counts only" и щелкните кнопку OK. Сверка будет запущена при следующем запуске Merge Agent.

    Для сверки объединяемых данных, с использованием параметров командной строки Merge Agent, откройте Replication Monitor, откройте содержащуюся в этом ответвлении дерева папку Agents, и далее в Merge Agents щёлкните правой кнопкой мыши по вашей publication, а затем щёлкните по Agent Properties. В открывшемся окне нужно выбрать закладку Steps и дважды щёлкните по строке Run agent. Теперь Вы можете изменить/определить сверку только rowcount, сверку rowcount и проверку контрольной суммы, просто вписав в текстовом поле команды -Validate 1 или -Validate 2 соответственно. Кроме того, используя этот метод, Вы можете установить параметр -ValidateInterval, с помощью которого задаётся число минут, которое Вы хотите выделяете для сверки.

    Если Вы правильно определили все параметры и нет никаких проблем с вашей Merge репликацией, то после. Это предупреждение будет помещено в Windows NT/2000 Application log.

    Литература:

  • SQL Server Books Online.
  • Validating Replicated Data
  • Validate All Subscriptions
  • sp_table_validation
  • Agents and Monitors
  • Replication Alerts



    www.sdteam.com

    Базы данных 08-09-2006
    В России началось первое внедрение SAP for Insurance 24-09-2008 Базы данных
    Сегодня  компании «Национальная страховая группа», SAP и группа Energy Consulting объявили о начале этапа опытно-промышленной эксплуатации первого в России проекта внедрения  специализированного отраслевого решения для страховых компаний SAP for Insurance.Проект создания в «Национальной страховой группе» корпоративной информационной системы на базе решений SAP стартовал в 2007 году и реализуется поэтапно. В рамках проекта внед...


    "Комстар-ОТС" завершил внедрение системы Oracle E-Business Suite 07-07-2008 Базы данных
    Оператор связи «Комстар-Объединенные ТелеСистемы» завершил проект по внедрению полнофункциональной ERP-системы Oracle E-Business Suite. Общий объем инвестиций в проект, включая услуги, лицензии, обучение, поддержку и оборудование, составил около 12 млн. долларов. Внедрение ERP-системы в «Комстар-ОТС» началось в 2005 году. Проект был выполнен в несколько этапов. Генеральным подрядчиком выступила компания «Квазар-Микро» (теперь работающая под б...


    Oracle купила компанию Bridgestream 09-09-2007 Базы данных
    Корпорация Oracle сегодня объявила о покупке компании Brigestream, частной компании, разрабатывающей программное обеспечение для разграничения прав доступа. Сумма покупки компаниями не сообщается.Купленная Bridgestream довольно хорошо известна на западном корпоративном рынке за счет разработок, которые внедряются в корпоративные системы управления и разграничивают доступ сотрудников к тем или иным данным в зависимости от должностных обязанностей ...


    Oracle открывает научно-исследовательскую сеть в азиатско-тихоокеанском регионе 24-07-2007 Базы данных
    Компания Oracle сегодня объявила об открытии научно-исследовательской сети, объединившей 19 исследовательских и внедренческих центров, расположенных на материковой Азии и в Японии.Как сообщает компания, новая сеть центров займется тестированием самых передовых разработок и технологий в области программного и аппаратного обеспечения в регионе.Наиболее крупные центры расположены в Пекине (Китай), Гургаоне (Индия), Сеуле (Южная К...

    Использование технологий WWW для доступа к базам данных 06-06-2007 Базы данных
    Глава 1. Основы использования WWW - технологий для доступа к существующим базам данныхГлава 2. Подготовка гипертекстовых документов для World Wide WebГлава 3. Установка и администрирование WWW - сервераГлава 4. Использование CGI при создании интерактивных интерфейсовГлава 5. Использование пакета Cold Fusion для MS Windows при построении WWW - интерфейсов к базам данныхГлава 6. Использование языка PerlГлава 7. Использование пакета We...
  •  

     
    Copyright by www.scripts.net.ua.
    Rambler's Top100 Рейтинг@Mail.ru