我随着研究的深入使用的SQL Server迁移助手导入一个数据库到SQL Server 2005中,我注意到,一些导入的表已经ammended一个叫SSMA_timestamp新列。

谁能告诉我这是什么了,它会如何使用?

有帮助吗?

解决方案

我认为这是生成以使迁移助理可以在迁移期间检测数据的更改。

除非你继续使用Access作为前端已迁移到SQL Server(在这种情况下,看到西蒙的回答)这个特定的数据库,我不认为他们会被用于任何迁移完成后,使它应该是安全的,一旦你确信一切都做删除这些新列。

其他提示

在加入SSMA_timestamp列不仅迁移过程中使用。他们实际上有助于避免错误时,在表中访问更新记录链接到SQL Server。所以,如果你还在使用Access前端链接到迁移的SQL Server数据库,这将是最好不要丢弃SSMA_timestamp列。

从链接到SQL Server 优化的Microsoft Office应用程序的访问一个>:

  

支持并发检查

     

大概在办公室访问链接表可更新性问题的主要原因是,Office访问无法验证是否在服务器上的数据相匹配的是什么最后通过动态集更新检索。如果Office Access不能执行此验证,它假定服务器行已被修改或通过其他用户删除和它中止更新。

     

有几种类型的办公室访问是不能可靠地检查匹配值的数据。这些措施包括大型对象类型,如文本,ntext的,图像和VARCHAR(最大),为nvarchar(MAX)和varbinary(最大值)类型在SQL Server 2005中引入另外,浮点数类型,如真而浮动,受四舍五入问题,可以使比较不精确,导致取消更新时的值还没有真正改变。 Office访问也有麻烦更新包含比特列的表没有默认值,并包含空值的。

     

有一个快速简便的方法来解决这些问题是一个时间戳列添加到表中的SQL Server上。在时间戳列中的数据是完全无关的日期或时间。相反,它是保证是整个数据库中是唯一和每一个新值分配给表中的任何列时自动增加一个二进制值。这种类型的列的ANSI标准术语rowversion。该术语被支撑在SQL Server。

     

当一个表包含这种类型的柱,并使用它所有的UPDATE WHERE子句中和DELETE影响该表的语句Office访问自动检测。这比验证所有其他列仍然有他们在动态集一次刷新到相同的值更有效。

     

在SQL Server迁移助手的Office Access会自动添加一个名为SSMA_TimeStamp一个包含数据类型的任何表,可能会影响可更新列。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top