Добавленные столбцы SSMA_timestamp используются не только во время миграции. Они фактически помогают избежать ошибок, когда Access обновляет записи в таблицах, связанных с SQL Server. Поэтому, если вы все еще используете интерфейс доступа, связанный с перенастроенной базой данных SQL Server, было бы лучше не удалять столбцы SSMA_timestamp.
Поддержка параллельных проверок
Вероятно, главная причина проблем с обновляемостью в таблицах, связанных с Office Access, заключается в том, что Office Access не может проверить, соответствуют ли данные на сервере тому, что было в последний раз получено обновленным набором данных. Если Office Access не может выполнить эту проверку, он предполагает, что строка сервера была изменена или удалена другим пользователем, и отменяет обновление.
Существует несколько типов данных, которые Office Access не может надежно проверить на соответствие значений. К ним относятся большие типы объектов, такие как text, ntext, image и типы varchar (max), nvarchar (max) и varbinary (max), представленные в SQL Server 2005. Кроме того, числовые типы с плавающей точкой, такие как вещественные и float, могут привести к проблемам округления, которые могут сделать неточные сравнения, что приведет к отмене обновлений, когда значения на самом деле не изменились. В Office Access также возникают проблемы при обновлении таблиц, содержащих битовые столбцы, которые не имеют значения по умолчанию и содержат нулевые значения.
Быстрый и простой способ решения этих проблем - добавить столбец отметки времени в таблицу на SQL Server. Данные в столбце метки времени совершенно не связаны с датой или временем. Вместо этого это двоичное значение, которое гарантированно будет уникальным для всей базы данных и будет автоматически увеличиваться при каждом назначении нового значения любому столбцу в таблице. Стандартным термином ANSI для этого типа столбцов является rowversion. Этот термин поддерживается в SQL Server.
Office Access автоматически определяет, когда таблица содержит столбец этого типа, и использует его в предложении WHERE всех операторов UPDATE и DELETE, влияющих на эту таблицу. Это более эффективно, чем проверка того, что все остальные столбцы имеют те же значения, которые были у них при последнем обновлении набора данных.
Помощник по миграции SQL Server для Office Access автоматически добавляет столбец с именем SSMA_TimeStamp во все таблицы, содержащие типы данных, которые могут повлиять на обновляемость.