我正在尝试将导入表单实时数据库设置到我们的开发数据库.
我尝试使用SSIS执行此操作,但由于约束导致导入失败.
例如.我有以下表格:
>客户
>产品
> OrderLines
>订单
导入客户和产品很好,因为他们不依赖任何东西.但是在导入OrderLines时它会失败,因为尚未创建Order.
如何更改SSIS导入表的顺序?
或者我可能不应该使用外键约束?
解决方法
在数据导入之前禁用或删除外键约束&然后在导入后启用或添加它们
例如.删除/添加
例如.删除/添加
--drop alter table t1 DROP CONSTRAINT fk_1 --add alter table t1 WITH CHECK add constraint fk_1 foreign key (fk) references t2 (i)
禁用启用
--disable alter table t1 NOCHECK CONSTRAINT fk_1 --enable alter table t1 WITH CHECK CHECK CONSTRAINT fk_1
WITH CHECK非常重要,否则sql Server将不会检查数据&不信任数据