【发布时间】:2018-05-26 20:20:51
【问题描述】:
我正在使用 SSIS 将 500 到 3+ 百万行插入到各种表中。数据源是从平面 CSV 文件到另一个数据库(Oracle、MySQL、SQL Server)的任何内容。
我正在尝试创建一个“inserted_on”列,该列显示添加行的日期/时间戳,我需要它足够精确以区分上一行和下一行。换句话说,每一行都应该有不同的日期时间值,即使它真的很接近。
我尝试了一个默认值为(gettime()) 的datetime2(7) 字段,但这似乎不够精确。
【问题讨论】:
-
我认为如果你想保证你知道插入的顺序,你应该使用某种不断增长的 ID 字段来表示行插入,而不是依赖时间。正如您似乎已经注意到的,datetime2 的最大精度不一定是唯一的。
-
使用
SYSDATETIME()而不是GETDATE()以获得亚毫秒级精度。然而。你可能仍然需要一个增量值来打破关系。
标签: sql sql-server datetime ssis sql-server-2014