Новые возможности Sync Framework 2.1
Платформа Sync Framework 2.1 включает новые и улучшенные возможности в следующих областях.
Поставщики базы данных
Синхронизация в SQL Azure
Массовое применение изменений
Фильтрация на основе параметров
Удаление областей и шаблонов
Обновление формата метаданных
Совместимость с SQL Server Compact 3.5 с пакетом обновления 2 (SP2)
Устаревшие элементы
Критические изменения
Поставщики базы данных
В Sync Framework 2.1 представлены новые функции, позволяющие выполнять синхронизацию базы данных SQL Server или SQL Server Compact на компьютере пользователя с базой данных SQL Azure. В этой версии также появились такие функции, как фильтрация на основе параметров, поддержка удаления областей и шаблонов синхронизации из базы данных и улучшенные возможности, позволяющие упростить синхронизацию и сократить время ее выполнения.
Синхронизация в SQL Azure
В Sync Framework 2.1 можно расширить доступность данных для использования в Интернете благодаря использованию платформы Windows Azure Platform и База данных SQL Azure. Синхронизация базы данных SQL Server в компании с базой данных SQL Azure позволяет обеспечить доступность части или всех данных в Интернете без обеспечения для клиентов соединения с базой данных SQL Server в компании. После настройки базы данных SQL Azure для синхронизации пользователи могут вывести данные из сетевого хранилища и сохранить их в клиентской базе данных, например SQL Server Compact или SQL Server Express, что позволит приложениям работать вне сети и устранит зависимость эффективности работы клиентов от надежности сетевого подключения. Изменения, вносимые удаленно, в процессе синхронизации фиксируются в базе данных SQL Azure и в итоге заносятся в локальную базу данных SQL Server. Sync Framework 2.1 также включает функции для эффективного взаимодействия с общей средой Windows Azure и SQL Azure. Эти функции включают средства повышения производительности, поддержку определения максимального размера транзакции, позволяющую избежать необходимости регулирования, и автоматические повторные попытки выполнения транзакции при регулировании Windows Azure. Все эти возможности реализуются путем использования объектов для синхронизации базы данных SQL Server, таких как SqlSyncProvider и SqlSyncScopeProvisioning, что позволяет использовать существующий набор знаний Sync Framework для синхронизации с SQL Azure.
Sync Framework обеспечивает гибкость при выборе способа структурирования сообщества синхронизации, однако обычно используется двухуровневая или многоуровневая архитектура.
Двухуровневая архитектура: Sync Framework запускается на локальном компьютере и использует объект SqlSyncProvider для прямого соединения с базой данных SQL Azure без обращения к среднему уровню или веб-серверу, такого как службы IIS. Дополнительные сведения см. в разделе Как настроить и выполнить синхронизацию с SQL Azure.
Многоуровневая архитектура: поставщик базы данных Sync Framework запускается в службе, размещенной в Windows Azure, и взаимодействует с поставщиком прокси-сервера, который запускается на локальном компьютере. Дополнительные сведения см. в разделе Как выполнить развертывание платформы Sync Framework в Windows Azure.
Массовое применение изменений
В Sync Framework 2.1 используются параметры SQL Server 2008 и SQL Azure, возвращающие табличное значение, для выполнения нескольких операций вставки, обновления и удаления путем вызова одной хранимой процедуры вместо вызова необходимой хранимой процедуры для применения каждого изменения. Это позволяет значительно повысить производительность этих операций и сократить число циклов приема-передачи между клиентом и сервером при применении изменений. Процедуры массового применения создаются по умолчанию при провизионировании базы данных SQL Server 2008 или SQL Azure. Дополнительные сведения см. в разделах Как провизионировать и отменять провизионирование областей синхронизации и шаблонов (SQL Server) и Мониторинг и настройка производительности.
Фильтрация на основе параметров
Sync Framework 2.1 позволяет создавать фильтры на основе параметров, управляющие выбором данных для синхронизации. Фильтры на основе параметров особенно полезны в случаях, когда пользователям необходимо выполнить фильтрацию данных на основе поля, которое может иметь несколько различных значений, такого как поля идентификатора пользователя или области или сочетания двух или больше полей. Фильтры на основе параметров создаются в два этапа. Сначала нужно определить фильтр и шаблоны областей. Затем создается отфильтрованная область, содержащая конкретные значения параметров фильтра. Этот двухэтапный процесс имеет следующие преимущества.
Простота настройки. Шаблон фильтра определяется один раз. Это единственное действие, требующее разрешения на создание хранимых процедур на сервере базы данных. Этот шаг обычно выполняется администратором базы данных.
Простота подписки. Клиенты по мере необходимости задают значения параметров для создания отфильтрованных областей и подписки на них. Этот этап требует только разрешения на вставку строк в таблицы синхронизации на сервере базы данных. Этот шаг может быть выполнен пользователем.
**Простота обслуживания.**Даже при сочетании нескольких параметров и создании массы отфильтрованных областей само по себе обслуживание является простым, поскольку перечислением изменений на основе параметров занимается единственная процедура.
Дополнительные сведения см. в разделе Как фильтровать данные для синхронизации базы данных (SQL Server).
Удаление областей и шаблонов
Sync Framework 2.1 добавляет классы SqlSyncScopeDeprovisioning и SqlCeSyncScopeDeprovisioning для обеспечения возможности удаления элементов синхронизации из баз данных, подготовленных для синхронизации. Использование этих классов позволяет удалять из баз данных области, шаблоны фильтров и связанные таблицы метаданных, триггеры и хранимые процедуры. Дополнительные сведения см. в разделе Как провизионировать и отменять провизионирование областей синхронизации и шаблонов (SQL Server).
Обновление формата метаданных
Формат метаданных, используемый этими поставщиками баз данных, изменился в версии Sync Framework 2.1. Новый формат метаданных несовместим с предыдущими версиями поставщиков баз данных. Отмена обновления до нового формата метаданных невозможна, и при попытке синхронизации баз данных в формате 2.1 с помощью предыдущей версии поставщиков баз данных Sync Framework выдаст исключение. Однако класс SqlSyncProvider в Sync Framework 2.1 определяет, какой именно формат используется, и работает в режиме обратной совместимости, позволяя выполнять синхронизацию баз данных, содержащих метаданные в формате 2.0. Sync Framework может синхронизировать базы данных в формате 2.0 с базами данных в формате 2.0 или 2.1. Поэтому нет необходимости обновлять все базы данных в сообществе синхронизации одновременно. Например, в многоуровневой архитектуре можно обновить компоненты и формат метаданных базы данных, используемых на сервере Sync Framework, и продолжить выполнение синхронизации с клиентами, использующими Sync Framework 2.0. После этого клиенты могут выполнять обновления в удобное для них время.
Дополнительные сведения об обратной совместимости и совместимости версий см. в разделе Обратная совместимость и взаимодействие платформы Sync Framework.
Дополнительные сведения об обновлении баз данных в сообществе синхронизации см. в разделе Обновление сообщества синхронизации баз данных.
Совместимость с SQL Server Compact 3.5 с пакетом обновления 2 (SP2)
Объект поставщика базы данных Sync Framework 2.1 SqlCeSyncProvider использует SQL Server Compact 3.5 с пакетом обновления 2 (SP2). Существующие базы данных SQL Server Compact автоматически обновляются при соединении с ними Sync Framework. Помимо других новых функций, SQL Server Compact 3.5 с пакетом обновления 2 (SP2) предоставляет API-интерфейс для отслеживания изменений, позволяющий настраивать, включать и отключать отслеживание изменений в таблице и получать доступ к данным отслеживания изменений в таблице. SQL Server Compact 3.5 с пакетом обновления 2 (SP2) можно загрузить здесь.
Устаревшие элементы
Следующие элементы являются устаревшими и не должны использоваться в новых разработках. Они продолжат работать на платформе Sync Framework 2.1, но в следующей версии могут быть удалены.
Устаревшие элементы в управляемом коде
Конструкторы класса SqlSyncScopeProvisioning без параметра SqlConnection: SqlSyncScopeProvisioning и SqlSyncScopeProvisioning. Вместо них следует пользоваться конструктором с параметром SqlConnection, например SqlSyncScopeProvisioning. Следует помнить, что если вызывается устаревшая версия этого конструктора, то платформа Sync Framework предполагает, что используется выпуск базы данных SQL Server 2005, и отключает использование процедур массового применения для действий вставки, обновления и удаления.
Методы класса SqlSyncScopeProvisioning, использующие SqlConnection или параметр имени базы данных: Apply, ScopeExists и Script. Вместо этого задайте соединение в конструкторе SqlSyncScopeProvisioning и используйте методы без параметра соединения: Apply, ScopeExists и Script.
Конструкторы для класса SqlCeSyncScopeProvisioning, не имеющие параметра SqlCeConnection: SqlCeSyncScopeProvisioning и SqlCeSyncScopeProvisioning. Вместо них следует использовать конструктор с параметром SqlCeConnection, такой как SqlCeSyncScopeProvisioning.
Методы класса SqlCeSyncScopeProvisioning, имеющие параметр SqlCeConnection: Apply и ScopeExists. Вместо этого задайте соединение в конструкторе SqlCeSyncScopeProvisioning и используйте методы без параметра соединения: Apply и ScopeExists.
Критические изменения
По сравнению с Sync Framework 2.0 в Sync Framework 2.1 были внесены следующие изменения.
Для классов поставщика базы данных в пространстве имен Microsoft.Synchronization.Data.SqlServerCe требуется SQL Server Compact 3.5 с пакетом обновления 2 (SP2). Методы Sync Framework, соединяющиеся с базой данных SQL Server Compact, вызывают исключение при установке недопустимой версии SQL Server Compact. При наличии базы данных, синхронизирующейся с более ранней версией Sync Framework, при обновлении Sync Framework и SQL Server Compact и соединении с базой данных с помощью метода Sync Framework база данных автоматически обновляется. Дополнительные сведения см. в разделе Обновление SQL Server Compact.
Параметр по умолчанию для создания таблиц и процедур при провизионировании базы данных SQL Server с помощью объекта SqlSyncScopeProvisioning был изменен с Create на CreateOrUseExisting. При провизионировании базы данных без указания новых значений для параметров создания, таблицы и процедуры создаются при условии, что они не существуют в базе данных.
См. также
Другие ресурсы
Платформа Microsoft Sync Framework