Сравнение данных SQL - отсутствуют некоторые таблицы
При выполнении сравнения данных с использованием инструментов данных SQL Server через VS 2013 pro у меня есть сценарий, в котором некоторые таблицы пропускаются.
Я имею в виду, что есть данные в TableA
на исходном сервере, но нет данных в эквивалентной таблице на конечном сервере.
Однако в окне результатов даже не отображается строка для TableA
,
Также, если я попытаюсь отфильтровать результаты на следующем шаге до нажатия "Готово", TableA
не отображается как опция для фильтрации. Это почти как если бы таблица не существовала на конечном сервере. Я подтвердил, что это делает:
- Подключение через SSMS и просмотр списка таблиц
- Бег
SELECT * FROM information_schema.tables
В обоих случаях я вижу таблицу в списке.
Кто-нибудь еще видел это? Что мне не хватает?
1 ответ
Данные можно сравнивать, только если вы знаете, какие записи из таблиц нужно сравнивать. Comparer использует PK, чтобы знать, какие записи сравнивать. Если в вашей таблице нет PK (или, по крайней мере, уникального индекса), он может отсутствовать в списке таблиц.
Вы можете решить это, создав ПК самостоятельно (только для сравнения)
Инструмент чувствителен к регистру. Мне пришлось переименовать схему изcore
к Core
чтобы таблицы в этой схеме отображались, поскольку у другой базы данных было имя Core
.