Сравнение различий между реплицированными таблицами (программирование репликации)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Проверка статей используется для определения того, совпадают ли опубликованные данные в статьях таблицы на издателе с данными на подписчике. В результате могут быть выявлены расхождения. Дополнительные сведения см. в статье Проверка реплицированных данных. Однако проверка дает только сведения о том, есть расхождение или нет. Никаких подробностей о расхождении данных в исходной таблице и целевой таблице не сообщается. Служебная программа командной строки tablediff возвращает подробные сведения о разнице между двумя таблицами и даже может создать скрипт Transact-SQL для объединения подписки с данными на издателе.
Примечание.
Программа tablediff поддерживается только для серверов SQL Server.
Поиск различий в реплицированных таблицах с помощью средства tablediff
Запустите средство 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 для строгого сравнения схем исходной и целевой таблиц (необязательно).