我有几个大数据集(~O(1TB)),我想将其导入我的数据库。我使用BULK INSERT
将数据导入临时表,然后使用SELECT
和INSERT INTO
用数据填充我的真实表。这是因为我想改变某些东西的顺序,并将一些数据文件拆分成逻辑表。如果不需要此功能,我只需BULK INSERT
直接进入目标表。
我想检查是否已强制执行所有外键约束。如果我在导入阶段将BULK INSERT
标记为CHECK_CONSTRAINTS
,则导入过程会减慢为爬行。
事后是否有命令要这样做?我对非常有限熟悉SQL Server,并且一般都是数据库。
提前致谢。
编辑:
建议阅读:MSDN Article
答案 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