Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 导出事务表的增量数据的最佳方法_Sql Server - Fatal编程技术网

Sql server 导出事务表的增量数据的最佳方法

Sql server 导出事务表的增量数据的最佳方法,sql-server,Sql Server,以下是我的表格“订单”的要求: 1) 在第一天,我使用bcp命令将完整数据作为unicode文本文件发送。 2) 从第二天开始,我只需要发送当天发生的事务的增量数据。 实施delta的最佳方式是什么?我希望避免当前的表设计,并且不是所有表都有时间戳字段。您已经排除了最佳方法。现在,您只能基于前一天的快照手动执行差异 查看SQL Server更改跟踪。它做你想要的 您还可以在午夜快照PK值和每行的哈希值。第二天晚上,您将再次快照并使用完全联接创建差异。我建议您将第1天的bcp文件保存在一个保存位置

以下是我的表格“订单”的要求: 1) 在第一天,我使用bcp命令将完整数据作为unicode文本文件发送。 2) 从第二天开始,我只需要发送当天发生的事务的增量数据。
实施delta的最佳方式是什么?我希望避免当前的表设计,并且不是所有表都有时间戳字段。

您已经排除了最佳方法。现在,您只能基于前一天的快照手动执行差异

查看SQL Server更改跟踪。它做你想要的


您还可以在午夜快照PK值和每行的哈希值。第二天晚上,您将再次快照并使用完全联接创建差异。

我建议您将第1天的bcp文件保存在一个保存位置(您可能只想保存受影响行的主键)。在第2天,您可以再次执行bcp,并将新文件与第1天的文件进行比较,删除不需要的行…第二天也可以执行同样的操作,以此类推…Hi dom。它必须是自动化的。更改可能是添加新行、删除行、更新行。是否为其编写perl/shell脚本?我无意手动执行这些步骤;-)嗨,乔纳森。那最好的办法是什么?请编辑您的答案,如果您认为这是最好的方式,即使它会影响当前的设计。手动差异对于一个有趣的想法来说是一个巨大的反对票,但从技术上来说,这仍然需要改变表格。它不需要改变表格。您可以创建一个新表来保存PK值和散列。