我有一个应用程序,我通过它使用SqlBulkCopy将批量记录插入表中。 我有一个触发器,它将添加到First表中的记录插入到另一个表中。
当我插入时,我已经在C#中编写了SqlBulkCopyOptions.FireTriggers,但它不能与Sql Server 2005一起工作。当使用SqlServer2008时,它工作正常。
在Sql server 2005中,每当将记录插入第一个表时,只有INSERTED行中的一个记录出现在第二个表中。
我可以单独使用Sql Server来管理吗?
答案 0 :(得分:0)
这里的一个选项是批量复制到临时表(第二个简单表 - 不是主数据模型的一部分;通常没有索引/约束/触发器等),然后发出{{1} } -based SELECT
将staging表中的数据导入主事务表。这使您可以获得INSERT
的带宽优势,但仍具有最终SqlBulkCopy
的完整SQL-Server功能。