Сравнение реплицированных таблиц для различий (программирование репликации)

Проверка статей используется для определения того, совпадают ли опубликованные данные для таблиц на издателе и подписчике, что может указывать на неконвергенцию. Дополнительные сведения см. в статье Проверка реплицированных данных. Однако проверка возвращает только данные о передаче или сбое и не предоставляет никаких сведений о том, что отличается от исходных и целевых таблиц. Служебная программа командной строки tablediff возвращает подробные сведения о разнице между двумя таблицами и даже может создать скрипт Transact-SQL для объединения подписки с данными на издателе.

Замечание

Программа tablediff поддерживается только для серверов SQL Server.

Сравнение реплицированных таблиц для различий с помощью tablediff

  1. В командной строке на любом сервере в топологии репликации запустите программу tablediff. Укажите следующие параметры:

    • -sourceserver — имя сервера, на котором данные, как правило, являются правильными, как правило, издателем.

    • -sourcedatabase — имя базы данных, содержащей правильные данные.

    • -sourcetable — имя исходной таблицы для сравниваемой статьи.

    • (Необязательно) -sourceschema — владелец схемы исходной таблицы, если не схема по умолчанию.

    • (Необязательно) -sourceuser и -sourcepassword при использовании проверки подлинности SQL Server для подключения к издателю.

      Это важно

      По возможности используйте проверку подлинности Windows. Если необходимо использовать проверку подлинности SQL Server, предложите пользователям ввести учетные данные безопасности во время выполнения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.

    • -destinationserver — имя сервера, на котором сравниваются данные, обычно подписчик.

    • -destinationdatabase — имя сравниваемой базы данных.

    • -destinationtable — имя сравниваемой таблицы.

    • (Необязательно) -destinationschema — владелец схемы целевой таблицы, если не схема по умолчанию.

    • (Необязательно) -destinationuser и -destinationpassword при использовании проверки подлинности SQL Server для подключения к подписчику.

      Это важно

      По возможности используйте проверку подлинности Windows. Если необходимо использовать проверку подлинности SQL Server, предложите пользователям ввести учетные данные безопасности во время выполнения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.

    • (Необязательно) Используйте -c для сравнения на уровне столбцов.

    • (Необязательно) Используйте -q для быстрого сравнения количества строк и схемы.

    • (Необязательно) Укажите имя файла и путь для -o , чтобы вывести результаты в файл.

    • (Необязательно) Укажите таблицу в базе данных подписки, в которую необходимо вставить результаты для -et. Если таблица уже существует, укажите -dt , чтобы сначала удалить таблицу.

    • (Необязательно) Используйте -f для создания файла Transact-SQL для исправления данных на подписчике, чтобы он соответствовал данным на издателе. Используйте -df чтобы указать количество операторов Transact-SQL в каждом файле.

    • (Необязательно) Используйте -rc и -ri , чтобы указать количество повторов операции и интервал повторных попыток.

    • (Необязательно) Используйте -strict , чтобы обеспечить строгое сравнение схемы между исходными и целевыми таблицами.

См. также

Проверка данных на подписчике