Проверяйте ограничения FK после BULK INSERT

У меня есть пара больших наборов данных (~ O (1 ТБ)), которые я хочу импортировать в моя база данных. Я использую BULK INSERT для импорта данных во временные таблицы, затем использую SELECT и INSERT INTO , чтобы заполнить настоящие таблицы данными. Это потому, что я хочу изменить порядок некоторых вещей и разбить некоторые файлы данных на логические таблицы. А если эта функция не нужна, я просто BULK INSERT прямо в свою целевую таблицу.

Я хотел бы проверить, все ли ограничения внешнего ключа соблюдены. Если я отмечаю BULK INSERT - CHECK_CONSTRAINTS на этапе импорта, процесс импорта замедляется до обхода.

Есть ли команда для выполнения этого постфактум? У меня очень ограниченное знакомство с SQL Server и базой данных в целом.

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Рекомендуемая литература: Статья MSDN

10
задан Gleno 27 August 2010 в 22:54
поделиться

3 ответа

Чтобы проверить одну таблицу:

alter table YourTable with check check constraint all

Чтобы проверить все таблицы:

exec sp_msforeachtable 'alter table ? with check check constraint all'
5
ответ дан 4 December 2019 в 02:24
поделиться

Тибор Караси написал отличную статью о доверенных ограничениях: Ненадежные ограничения

1
ответ дан 4 December 2019 в 02:24
поделиться

Сколько таблиц/внешних ключей вы просматриваете? Рассматривали ли вы возможность написания быстрого пользовательского запроса для проверки потерянных строк?

2
ответ дан 4 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: