Поделиться через


сравнить реплицируемые таблицы на предмет различий (программирование репликации)

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

Примечание

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

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

  1. Запустите средство tablediff Utilityиз командной строки любого сервера в топологии репликации. Укажите значения следующих параметров.

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

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

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

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

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

      Важно!

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

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

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

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

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

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

      Важно!

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

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

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

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

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

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

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

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

См. также:

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