Сравнение данных SQL - отсутствуют некоторые таблицы

При выполнении сравнения данных с использованием инструментов данных SQL Server через VS 2013 pro у меня есть сценарий, в котором некоторые таблицы пропускаются.

Я имею в виду, что есть данные в TableA на исходном сервере, но нет данных в эквивалентной таблице на конечном сервере.

Однако в окне результатов даже не отображается строка для TableA,

Также, если я попытаюсь отфильтровать результаты на следующем шаге до нажатия "Готово", TableA не отображается как опция для фильтрации. Это почти как если бы таблица не существовала на конечном сервере. Я подтвердил, что это делает:

  • Подключение через SSMS и просмотр списка таблиц
  • Бег SELECT * FROM information_schema.tables

В обоих случаях я вижу таблицу в списке.

Кто-нибудь еще видел это? Что мне не хватает?

1 ответ

Решение

Данные можно сравнивать, только если вы знаете, какие записи из таблиц нужно сравнивать. Comparer использует PK, чтобы знать, какие записи сравнивать. Если в вашей таблице нет PK (или, по крайней мере, уникального индекса), он может отсутствовать в списке таблиц.

Вы можете решить это, создав ПК самостоятельно (только для сравнения)

Инструмент чувствителен к регистру. Мне пришлось переименовать схему изcore к Core чтобы таблицы в этой схеме отображались, поскольку у другой базы данных было имя Core.

Другие вопросы по тегам