BULK INSERT后检查FK约束

时间:2010-08-27 20:54:10

标签: sql sql-server

我有几个大数据集(~O(1TB)),我想将其导入我的数据库。我使用BULK INSERT将数据导入临时表,然后使用SELECTINSERT INTO用数据填充我的真实表。这是因为我想改变某些东西的顺序,并将一些数据文件拆分成逻辑表。如果不需要此功能,我只需BULK INSERT直接进入目标表。

我想检查是否已强制执行所有外键约束。如果我在导入阶段将BULK INSERT标记为CHECK_CONSTRAINTS,则导入过程会减慢为爬行。

事后是否有命令要这样做?我对非常有限熟悉SQL Server,并且一般都是数据库。

提前致谢。

编辑:

建议阅读:MSDN Article

3 个答案:

答案 0 :(得分:5)

检查一张桌子:

alter table YourTable with check check constraint all

检查所有表格:

exec sp_msforeachtable 'alter table ? with check check constraint all'

答案 1 :(得分:2)

你在看多少张表/外键?您是否考虑过编写一个检查孤立行的快速自定义查询?

答案 2 :(得分:1)

Tibor Karaszi撰写了一篇关于可信限制的精彩文章:Non-trusted constraints