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