Проверка целостности SQL Server после включения / выключения identity_insert - PullRequest
0 голосов
/ 24 октября 2011

Я импортирую данные из устаревшего приложения (php + mysql) в переписанную версию (sql server 2008 и mvc3).В настоящее время я нахожусь в процессе написания пакета для синхронизации / преобразования БД.

Данные mysql имеют первичные ключи, но по каким-то причинам не имеют внешних ключей и потому что данные все еще являются реляционными (несмотря на отсутствие внешних ключей)мой конверсионный пакет использует IDENTITY_INSERT ON / OFF.Поскольку у исходных данных нет способа обеспечить целостность данных, я хотел бы выполнить проверку целостности после того, как я выполню вставку и поверну IDENTITY_INSERT в положение OFF.

Есть ли хороший способ для сценария этого действия?Желательно на уровне таблицы, а не на всей базе данных?

Спасибо.

1 Ответ

1 голос
/ 24 октября 2011

Лично я бы определил, какие данные не имеют целостности перед импортом в новую схему. Простой запрос WHERE NOT Exists для каждой дочерней таблицы (или того, что было разработано как дочерняя таблица) сделает это. Я не стал бы импортировать данные, которые нельзя привязать к родительской записи. Однако я бы создал таблицу исключений и переместил бы эти записи в нее, чтобы некоторые пользователи увидели, могут ли они выяснить, какими должны быть родительские данные.

...