Новые возможности SQL Server Compact 4.0

В этом разделе описаны новые возможности, представленные в SQL Server Compact 4.0 и предыдущих выпусках, в том числе SQL Server Compact 3.5, SQL Server Compact 3.5 с пакетом обновления 1 (SP1) и SQL Server Compact 3.5 с пакетом обновления 2 (SP2).

Новые возможности SQL Server Compact 4.0

В MicrosoftSQL Server Compact 4.0 появился ряд новых функций, а также новый сценарий с SQL Server Compact 4.0 в качестве базы данных для веб-приложений и веб-сайтов ASP.NET. К основным возможностям SQL Server Compact 4.0 относятся:

  1. Разработка приложений SQL Server Compact 4.0 с WebMatrix и Visual Studio 2010 с пакетом обновления 1 (SP1)

    • Возможность применения Visual Studio 2010 SP1 (выпуски Premium, Ultimate и Professional) для разработки веб-приложений ASP.NET и приложений Windows для настольных компьютеров в SQL Server Compact 4.0. Для обзора базы данных можно использовать такие конструкторы, как Server Explorer, Query Designer и Transact-SQL Editor. Конструкторы в системе проектов веб-приложений ASP.NET можно также использовать для привязки элементов управления на веб-страницах к данным в SQL Server Compact.

      Кроме того, в Microsoft Visual Web Developer 2010 Express с пакетом обновления 1 (SP1) также поддерживается SQL Server Compact 4.0 для разработки веб-приложений ASP.NET. В Visual Studio 2010 с пакетом обновления 1 (SP1) также поддерживается разработка приложений для SQL Server Compact 3.5 параллельно с SQL Server Compact 4.0.

    • WebMatrix можно использовать для разработки веб-приложений ASP.NET с SQL Server Compact 4.0 и для управления базами данных SQL Server Compact, включая выполнение запросов Transact-SQL к SQL Server Compact.

    • WebMatrix можно использовать для переноса данных и схем из SQL Server Compact 4.0 в более поздние версии SQL Server, и веб-сайты можно переносить таким образом в другие версии SQL Server одним щелчком мыши.

  2. Усовершенствованный API-интерфейс

    • Интеграция со средой ADO.NET Entity Framework 4.0 (.NET Framework 4)

      SQL Server Compact 4.0 поддерживает модель программирования «сначала код», принятую в среде ADO.NET Entity Framework. Кроме того, столбцы, имеющие сформированные сервером ключи, например удостоверение или ROWGUID, также поддерживаются в SQL Server Compact 4.0 при использовании с ADO.NET Entity Framework 4 (это версия ADO.NET Entity Framework, выпущенная с .NET Framework 4).

      Примечание

      Выпуск SQL Server Compact 4.0 работает только со средой ADO.NET Entity Framework 4, в составе которой есть .NET Framework 4. При попытке использования SQL Server Compact 4.0 со средой ADO.NET Entity Framework 3.5 с пакетом обновления 1 (SP1) (в состав которой входит .NET Framework 3.5 с пакетом обновления 1 (SP1)) возникает ошибка.

    • Новый API для DbConnection.GetSchema

      В SQL Server Compact 4.0 предусмотрен новый API System.Data.SqlServerCe.SqlCeConnection.GetSchema(), с помощью которого можно получать схему из файла базы данных SQL Server Compact. В API также предусмотрена поддержка System.Data.Common.DbConnection.GetSchema.

    • Новый API для SqlCeConnectionStringBuilder

      Новый API System.Data.SqlServerCe.SqlCeConnectionStringBuilder() позволяет разработчику программными средствами создавать правильные строки подключения для SQL Server Compact 4.0, а также анализировать и перестраивать существующие строки подключения. Кроме того, в API предусмотрена поддержка System.Data.Common.DbConnectionStringBuilder.

  3. Новый синтаксис Transact-SQL

    В SQL Server Compact 4.0 поддержка запросов Transact-SQL еще больше расширена: добавлен новый синтаксис Transact-SQL для OFFSET & FETCH с предложением Order BY. Возможности OFFSET-FETCH позволяют пользователям выполнять запросы к файлу базы данных с разбивкой результатов по страницам. Дополнительные сведения см. в разделе Предложение ORDER BY (SQL Server Compact).

  4. Улучшения для веб-приложений и веб-сайтов ASP.NET

    • Поддержка ASP.NET

      В SQL Server Compact 4.0 ASP.NET поддерживается без необходимости какой-либо настройки. Флаг SQLServerCompactEditionUnderWebHosting в SQL Server Compact 4.0 больше не требуется и удален.

    • Уменьшение виртуальной памяти

      Потребление виртуальной памяти на каждое соединение SQL Server Compact в SQL Server Compact 4.0 снижено. Разница видна в следующем примере: если приложение пытается открыть 40–50 одновременных соединений в SQL Server Compact 3.5 с пакетом обновления 2 (SP2), возникнет исключение «недостаточно виртуальной памяти». Однако в SQL Server Compact 4.0 приложение может легко открыть любое необходимое число соединений с файлом базы данных, до максимально возможных 256, без возникновения нехватки виртуальной памяти.

    • Средний уровень доверия

      Главное требование приложений ASP.NET — возможность работы в среде со средним (частичным) уровнем доверия, и это поддерживается в SQL Server Compact 4.0.

  5. Повышение надежности, безопасности и легкости развертывания

    • Повышенная надежность

      SQL Server Compact 4.0 протестирован и сертифицирован для работы с веб-приложениями ASP.NET и способен справиться с нагрузкой веб-сайтов начального уровня. SQL Server Compact 4.0 имеет превосходную производительность в сценариях с параллельными соединениями и многочисленными запросами к базе данных.

    • Обновление алгоритма шифрования

      SQL Server Compact 4.0 поддерживает алгоритмы шифрования SHA 2, которые обеспечивают более высокий уровень защиты для зашифрованных файлов базы данных SQL Server Compact.

      Совет

      Алгоритмы, которые поддерживались в более ранних версиях SQL Server Compact, поддерживаются в SQL Server Compact 4.0 только при открытии файла базы данных для обновления до SQL Server Compact 4.0. Таким образом, при открытии файла базы данных SQL Server Compact 3.5 с помощью SQL Server Compact 4.0 этот файл базы данных SQL Server Compact 3.5 необходимо будет обновить до SQL Server Compact 4.0 с помощью API System.Data.SqlServerCe.SqlCeEngine.Upgrade().

    • Улучшение настройки

      Настройка и установка SQL Server Compact 4.0 улучшены, что обеспечивает правильную установку компонентов SQL Server Compact для платформ x86 и x64 на 64-разрядных компьютерах. Это гарантирует беспроблемную работу в SQL Server Compact 4.0 на 64-разрядном компьютере как режима WOW64, так и 64-разрядных собственных приложений.

      • В SQL Server Compact 4.0 файл EXE для платформы x86 будет успешно устанавливаться на 32-разрядном компьютере, а файл MSI для платформы x64 — только на 64-разрядном. На 64-разрядном компьютере файл MSI для платформы x64 будет устанавливать как 32-, так и 64-разрядные компоненты SQL Server Compact. Это изменение в установке устраняет необходимость устанавливать файл MSI для платформы x86 на 64-разрядном компьютере.

      • Все необходимые для закрытого развертывания SQL Server Compact 4.0 двоичные файлы (и 32- и 64-разрядные) находятся в папке %Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private и %Program Files (x86)%\Microsoft SQL Server Compact Edition\v4.0\Private.

Новые возможности SQL Server Compact 3.5 с пакетом обновления 2 (SP2)

SQL Server Compact 3.5 с пакетом обновления 2 (SP2) входит в состав SQL Server 2008 R2 и Visual Studio 2010. Начиная с выпуска SQL Server Compact 3.5 с пакетом обновления 2 (SP2), SQL Server Compact предоставляет следующие новые функции:

  • Поддержка редактора Transact-SQL в Visual Studio 2010. Теперь с помощью редактора Transact-SQL можно выполнять запросы Transact-SQL к базе данных SQL Server Compact, представленные в свободной форме. Редактор Transact-SQL также позволяет просматривать и сохранять подробные прогнозируемые и фактические планы отображения запросов для баз данных SQL Server Compact. В предыдущих версиях функции, обеспечиваемые редактором Transact-SQL, были доступны только при использовании среды SQL Server Management Studio. Дополнительные сведения см. в разделе Редактор Visual Studio Transact-SQL.

  • Поддержка отслеживания изменений в базах данных SQL Server Compact. Добавлены новые классы и элементы в пространство имен System.Data.SqlServerCe с целью обеспечения поддержки отслеживания изменений уровня строки в таблицах базы данных. При включении отслеживания для таблицы в инфраструктуре отслеживания сохраняются сведения об операциях вставки, удаления и обновления в таблице. Эти сведения сохраняются в столбцах, добавляемых к отслеживаемой таблице, и в системных таблицах, сохраняемых инфраструктурой отслеживания. Использование этих новых классов дает возможность настраивать, включать и отключать отслеживание изменений в таблице, а также получать доступ к данным отслеживания, сохраняемым для таблицы. Использовать отслеживание изменений можно для обеспечения функциональности в ряде случаев. Например, можно обеспечить возможность пользовательской реализации синхронизации клиента с сервером или клиента с другим клиентом для периодически подключаемых систем (OCS). Также отслеживание изменений можно использовать для реализации пользовательского приложения прослушивателя. Дополнительные сведения см. в разделе Построение приложений, использующих отслеживание изменений (SQL Server Compact).

  • Поддержка нового управления версиями сборок и структуры каталогов, позволяющей приложениям SQL Server Compact, использующим закрытое развертывание, получать исправления и критические обновления. Дополнительные сведения см. в разделе Сравнение отдельного развертывания с центральным развертыванием (SQL Server Compact).

  • Добавлена поддержка для развертывания 64-разрядной версии ClickOnce. Дополнительные сведения см. в разделе Развертывание приложений для настольных компьютеров.

  • SQL Server Compact поддерживает Windows 7 и Windows Server 2008 R2. Список всех поддерживаемых версий Windows см. в разделе Требования к оборудованию и программному обеспечению.

Новые возможности SQL Server Compact 3.5 с пакетом обновления 1 (SP1)

SQL Server Compact 3.5 с пакетом обновления 1 (SP1) входит в состав SQL Server 2008 и Visual Studio 2008 с пакетом обновления 1 (SP1). Начиная с выпуска SQL Server Compact 3.5 с пакетом обновления 1 (SP1), в SQL Server Compact представлены следующие новые возможности.

  • SQL Server Compact поддерживает ADO.NETEntity Framework. Платформа Entity Framework позволяет работать с данными в формате объектов и свойств конкретного домена (например, клиентами и их адресами) без необходимости обращаться к базовым таблицам и столбцам базы данных, где хранятся эти данные.

  • Поддержка средой ADO.NET платформы Entity Framework позволяет разработчикам создавать гибкие, строго типизированные запросы к контексту объекта Entity Framework с помощью выражений LINQ и стандартных операторов запросов LINQ прямо из среды разработки.

  • SQL Server Compact поддерживает параметры сортировки с учетом регистра на уровне базы данных. Дополнительные сведения см. в разделе Работа с параметрами сортировки (SQL Server Compact).

  • Можно выполнять администрирование базы данных SQL Server Compact, хранящейся на интеллектуальном устройстве или настольном компьютере, используя среду SQL Server Management Studio (среда SSMS) в SQL Server 2008.

  • SQL Server Compact поддерживает репликацию новых типов данных в SQL Server 2008, таких как date, time, datetime2, datetimeoffset, geography и geometry. Новые типы данных в SQL Server 2008 сопоставляются с типами nchar, nvarchar, image и т. д. Дополнительные сведения о типах данных в SQL Server 2008 см. в разделе Типы данных электронной документации по SQL Server 2008.

  • SQL Server Compact может выполняться в 64-разрядной версии среды в собственном режиме. Соответствующими MSI-файлами являются 64-разрядные версии среды выполнения SQL Server Compact (SSCERuntime-RUS.msi) и 64-разрядные версии серверных средств SQL Server Compact (SSCEServerTools-RUS.msi). Поддержка для 32-разрядных версий MSI-файлов не изменилась. Разработчикам, использующим развертывание ClickOnce для приложений, необходимо указать URL-адреса загрузки как 32-разрядных, так и 64-разрядных версий. Дополнительные сведения см. в разделе Управление 64-разрядными приложениями баз данных.

  • SQL Server Compact поддерживает репликацию данных с SQL Server 2000, SQL Server 2005 и SQL Server 2008 за счет использования Sync Services for ADO.NET. Sync Services for ADO.NET доступны для настольных и мобильных устройств.

  • SQL Server Compact поддерживает репликацию данных с SQL Server 2005 и SQL Server 2008 с помощью репликации слиянием и удаленного доступа к данным.

  • SQL Server Compact включает улучшенную совместимость версий с SQL Server для репликации слиянием.

  • Серверные средства для SQL Server Compact 3.5 с пакетом обновления 1 (SP1), используемые для настройки репликации слиянием и удаленного доступа к данным, можно загрузить с веб-узла центра загрузки Майкрософт. Обратите внимание, что параллельная установка серверных средств SQL Server Compact 3.5 с пакетом обновления 1 (SP1) с предыдущими версиями серверных средств на компьютере, выполняющем роль IIS-сервера, невозможна. Серверные средства SQL Server Compact 3.5 с пакетом обновления 1 (SP1) способны реплицировать данные между SQL Server Compact 3.5 и SQL Server 2005 или SQL Server 2008. Серверные средства SQL Server Compact 3.5 с пакетом обновления 1 (SP1) также поддерживают репликацию данных между SQL Server 2005 Compact Edition или SQL Server 2005 Mobile Edition и SQL Server 2005 или SQL Server 2008.

  • SQL Server Compact поддерживает Windows Server 2008. Список всех поддерживаемых версий Windows см. в разделе Требования к оборудованию и программному обеспечению.

Новые возможности SQL Server Compact 3.5

SQL Server Compact 3.5 был выпущен вместе со средой Visual Studio 2008. Начиная с выпуска SQL Server Compact 3.5, SQL Server Compact предоставляет следующие новые функции.

  • В SQL Server Compact реализован тип данных timestamp (rowversion). rowversion — это тип данных, автоматически формирующий двоичные числа, для которых гарантирована уникальность в базе данных. Обычно он используется как механизм обозначения версий строк в таблицах.

  • SQL Server Compact поддерживает локальную область транзакций на настольных компьютерах.

  • Конструктор таблиц SQL Server Compact в Visual Studio 2008 усовершенствован и теперь предоставляет пользовательский интерфейс для создания связей по первичному и внешнему ключу между таблицами.

  • В SQL Server Compact поддержка инструкций Transact-SQL расширена следующим образом.

    • Вложенные запросы в предложении FROM

    • CROSS APPLY и OUTER APPLY

    • CAST

    • TOP

    • SET IDENTITY INSERT

  • SQL Server Compact поддерживает символы в Юникоде для любой локали, включая символы китайской кодировки GB 18030.

  • SQL Server Compact поддерживает разработку приложений рабочего стола с помощью языков Visual C# 2008 Express Edition и Visual Basic 2008 Express Edition.

  • SQL Server Compact версии 3.5 поддерживает параллельную установку с предыдущей версией (3.1) на настольных компьютерах. Дополнительные сведения о взаимодействии с более ранними версиями см. в разделе Обновление с предыдущих версий (SQL Server Compact).

  • Для поддержки прежних операционных систем с устаревающими алгоритмами шифрования, а также для поддержки новых и надежных методов шифрования в SQL Server Compact была добавлена обратная совместимость режимов шифрования. Полный список режимов шифрования с обратной совместимостью см. в разделе Обновление с предыдущих версий (SQL Server Compact).

  • SQL Server Compact поддерживает технологию LINQ to SQL. LINQ to SQL — это компонент проекта LINQ. Он обеспечивает инфраструктуру времени выполнения для управления реляционными данными в виде объектов, сохраняя при этом возможность работы с запросами. Этот компонент переводит запросы LINQ на язык Transact-SQL для выполнения их на SQL Server Compact, а затем переводит результирующие табличные данные обратно в объекты, используя метод, определенный разработчиком приложения. Технология LINQ to SQL не поддерживает разработку для SQL Server Compact. Для SQL Server Compact должна использоваться программа SqlMetal.exe. Средство командной строки SqlMetal создает код и сопоставление для компонента LINQ to SQL платформы .NET Framework. По умолчанию файл SQLMetal расположен в каталоге %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\bin. Дополнительные сведения см. в разделе Создание кода в LINQ to SQL. SqlMetal можно использовать следующим образом.

    • Из базы данных можно сформировать исходный код и атрибуты или файл сопоставления.

    • Из базы данных можно сформировать промежуточный файл языка разметки баз данных (DBML) для пользовательской настройки.

    • Из DBML-файла можно сформировать код и атрибуты или файл сопоставления.

Другие новые функции

В SQL Server Compact 4.0 предусмотрены следующие компоненты: SSCEVSTools-RUS.msi, SSCEWebTools-RUS.msi, SSCERuntime_x86-ENU.exe и SSCERuntime_x64-ENU.exe.

  • Средства Microsoft Visual Studio 2010 SP1 Tools для SQL Server Compact 4.0 (SSCEVSTools-RUS.msi): этот файл устанавливает компоненты времени разработки SQL Server Compact, которые нужны для поддержки конструктора в Visual Studio 2010 с пакетом обновления 1 (SP1). Компоненты времени разработки представляют собой пользовательский интерфейс, диалоговые окна и среду времени разработки, которые используются для написания приложений под SQL Server Compact. Компоненты SQL Server Compact времени разработки будут установлены в каталог %ProgramFiles%\Microsoft Visual Studio 10\Common7\IDE\. Образцы устанавливаются в каталог %ProgramFiles%\Microsoft SQL Server Compact Edition\v4.0\Samples. Эти компоненты привязываются к Visual Studio, и их нельзя использовать независимо. Образцы SQL Server Compact и файлы заголовков SQL Server Compact (для собственной разработки) также устанавливаются этим файлом MSI.

  • Среда выполнения SQL Server Compact 4.0 (SSCERuntime_x86-ENU.exe & SSCERuntime_x64-ENU.exe): этот файл устанавливает компоненты времени выполнения SQL Server Compact для настольных компьютеров в основной папке %ProgramFiles%\Microsoft SQL Server Compact Edition\v4.0. Компоненты среды выполнения SQL Server Compact для настольных компьютеров необходимы для разработки приложений в Visual Studio, а также для запуска приложений на базе SQL Server Compact на настольном компьютере. Файл SSCERuntime-RUS.msi можно также загрузить через Интернет.

  • Веб-средства SQL Server Compact 4.0 (SSCEWebTools-RUS.msi): этот файл устанавливает компонент создания сценариев для базы данных в глобальный кэш сборок. Это обеспечивает для WebMatrix возможность миграции баз данных на более старшие номера SKU для SQL Server. Файл MSI может использоваться только с WebMatrix.