2011-06-05 58 views
4

我正在软件版本(6岁到当前模式)之间迁移SQL 2008 R2数据库。有几个审计表带有SQL TimeStamp列。我们通过将原始表格中的数据复制到新结构中来做到这一点 - 这一变化相当复杂,正如您在6年后所预期的那样。使用时间戳列迁移数据库表

当我将它移入新数据库或保持此数据的审计可跟踪性的最佳实践方法时,是否有办法保留时间戳的指纹?

感谢

回答

4

您可以转换timestampvarbinary(8)保存它:

select cast([timestamp] as varbinary(8)) 

timestamp本身的价值不是特别有用:它并没有转化为一个特定的时间。未来,MSDN建议将其更名为更合适的rowversion

+0

谢谢;当你悲伤地迁徙时没有办法保持价值,这有点令人沮丧 - 请记住,你不知道为什么原始人决定首先使用时间戳。 – u07ch 2011-06-15 13:42:50

+0

“时间戳”值可以提供显示动作何时实际发生的审计线索。如果与行动发生时间相关的法律和/或服务要求相关联,我建议将原始数据库保存为将来可以检查的格式,然后使用“迁移”标记标记记录,以便了解时间戳成为迁移的时间,而不是原来的交易时间。 – 2012-05-19 12:38:22

+0

@JulieinAustin:但时间戳不代表实际的时间。你不能看它,并说,“这行是最后写在5月19日”。 – Andomar 2012-05-19 14:17:45