Все редакции пакета SQL Server 2008 включают полезные усовершенствования, в том числе новые типы данных, поддержку механизма отладки кодов T-SQL и автоматического заполнения IntelliSense, а также улучшения в механизмах бизнес-аналитики (BI). Благодаря новым возможностям пакет SQL Server 2008 будет очень полезен клиентам редакции Enterprise Edition и пользователям пакета SQL Server 2000. Однако для тех, кто работает со службой SQL Server 2005 Standard Edition, обновление имеет смысл только при необходимости использования какой-либо функции, входящей в состав новой версии SQL Server.

После выпуска Microsoft SQL Server 2008 продукт SQL Server стал не просто реляционной базой данных, скрытой за корпоративными приложениями. Целью компании Microsoft является признание SQL Server 2008 информационной платформой, способной удовлетворить любые требования пользователей к механизмам обработки информации. Благодаря встроенным службам интеграции, анализа и отчетности сервер SQL Server 2008 более чем способен соответствовать этим ожиданиям. Я расскажу о наиболее важных новых возможностях SQL Server 2008 и дам рекомендации относительно того, в каких случаях имеет смысл выполнять обновление до последней версии и какие системы должны быть обновлены.

Новые возможности редакции Enterprise

Большинство новых функций SQL Server 2008 включено только в редакцию Enterprise. Список различий в редакциях SQL Server 2008 приведен во врезке «Редакции SQL Server 2008». Ниже перечислены основные новые возможности, включенные в состав SQL Server 2008 Enterprise Edition.

Поддержка технологии Hot Add CPU. Поддержка технологии Hot Add CPU позволяет SQL Server 2008 распознавать и использовать процессоры, добавленные в систему, без необходимости перезагружать сервер или его службы. Данная технология дополняет возможность «горячего» добавления оперативной памяти, Hot Add RAM, делая платформу SQL Server 2008 идеальным решением для установки в виртуальных средах и для участия в динамическом управлении рабочей нагрузкой.

Инструмент Resource Governor. Возможно, самым важным нововведением пакета SQL Server 2008 является инструмент Resource Governor, который позволяет управлять количеством системных ресурсов, выделяемых платформой для заданной рабочей нагрузки. Например, Resource Governor позволит ограничить число системных ресурсов, выделяемых на обработку некорректно составленных пользовательских запросов, которые в противном случае могли бы заметно снизить производительность системы. Кроме того, данный инструмент сделает более предсказуемыми процессы выполнения запросов и заданий в системе.

Сжатие данных. Новый механизм сжатия данных полностью «прозрачен» с точки зрения клиентских приложений, и для его работы не требуется вносить изменения в приложения. Сжатие данных в SQL Server 2008 может снизить размер хранимых на диске баз данных и ускорить процессы выполнения резервного копирования и восстановления путем уменьшения количества операций ввода/вывода.

Прозрачное шифрование данных, Transparent data encryption (TDE). Механизм TDE расширяет возможности шифрования службы SQL Server 2005. Механизмы SQL Server 2005 осуществляют шифрование данных на уровне ячеек. Однако управление ключами шифрования осуществляется вручную, а для доступа к зашифрованным данным необходимо менять код приложений. Механизм TDE позволяет осуществлять шифрование базы данных целиком, при этом процесс шифрования полностью прозрачен для приложений конечных пользователей.

Управление на основе политик. Механизм управления на основе политик позволяет администратору базы данных применить корпоративные стандарты, такие как настройки базы данных и соглашения об именовании объектов, к нескольким серверам одновременно.

Сбор изменений данных, Change data capture (CDC). Для организаций, вынужденных работать с хранилищами данных или другими внешними базами данных посредством SQL Server, имеет смысл отдельно установить новый механизм CDC. Благодаря механизму CDC пропадает необходимость создания дополнительных алгоритмов для отслеживания изменений. Вместо этого изменения в таблицах автоматически извлекаются из журнала операций и заносятся во множество целевых отслеживаемых таблиц. С помощью данного механизма можно улучшить процесс аудита, занося все изменения данных в целевые таблицы.

Новые возможности всех редакций

Новые возможности были добавлены не только в редакцию SQL Server 2008 Enterprise. Большое количество новых функций вошло в состав всех версий SQL Server 2008 (Standard, Web, Workgroup и Enterprise). Ниже приведены наиболее важные из них.

Поддержка механизма IntelliSense: отладка и структурирование кодов. Одним из основных недостатков SQL Server 2005 было отсутствие механизма автоматического заполнения и возможности отладки кодов T-SQL. Поддержка технологии IntelliSense в версии SQL Server 2008 (она реализована в редакторе Query Editor среды SQL Server Management Studio, SSMS) позволяет осуществлять проверку синтаксиса кодов T-SQL и реализовать автоматическое назначение имен объектов базы данных (см. экран 1). Ошибки в синтаксисе языка T-SQL обозначаются красной волнистой отметкой в конце каждого оператора кода T-SQL.

Экран 1. Автоматическое назначение имен объектов базы данных

При работе со службой SQL Server 2005 для отладки сценариев T-SQL раньше приходилось использовать пакет Microsoft Visual Studio. Редактор Query Editor, включенный в состав SQL Server 2008, позволяет проводить полноценную отладку кода T-SQL и дает возможность устанавливать точки прерывания (см. экран 2), поэтому использовать Visual Studio при работе со сценариями T-SQL более не требуется. Другим важным улучшением редактора Query Editor является возможность сворачивать и развертывать блоки кода в окне редактора. Однако новые функции могут использоваться только при работе с базами данных SQL Server 2008. Если подключить приложение Query Editor к базе данных SQL Server 2005, вы не сможете активировать механизмы IntelliSense, будь то отладка или структурирование кода. К тому же эти механизмы не входят в состав набора SSMS Basic, используемого для управления версиями SQL Server 2008 Express и SQL Server 2008 Express with Advanced Services.

Экран 2. Установка точки прерывания

Новые типы данных. При работе с типом данных DATETIME, используемым в ранних версиях SQL Server, приходилось объединять данные о времени и дате в одном столбце. Новые типы данных DATE и TIME, предложенные в SQL Server 2008, позволяют хранить значения даты и времени по отдельности, а для хранения более точных значений этих параметров созданы дополнительные типы. Данные класса FILESTREAM обеспечивают высокоскоростной доступ к крупным объектам (LOB). Платформа SQL Server 2008 также предлагает использовать новые пространственные типы данных, на основе которых можно создавать приложения сопоставления. Дополнительная информация о новых типах данных SQL Server 2008 приведена во врезке «Новые типы данных в SQL Server 2008».

Усовершенствования языка T-SQL. Как и ожидалось, версия SQL Server 2008 содержит улучшения языка T-SQL. Оператор DECLARE теперь позволяет определять значения переменных. Новые структурные операторы присваивания (+=, —=,/=,%=, &=, |=, and ^=) позволяют более эффективно применять логические операторы XOR, XAND, а также операторы конкатенации строк. Новая функция конструктора столбцов дает возможность задействовать оператор INSERT для вставки нескольких столбцов. Новый оператор MERGE позволяет выполнить функции INSERT, UPDATE и DELETE за один шаг.

Еще одна новая особенность языка T-SQL — параметры с табличными значениями — позволяет передавать таблицу в качестве параметра в сохраненную процедуру или функцию. Табличные параметры полезны, когда необходимо передать в вызываемую процедуру (функцию) большое количество данных. Кроме того, новая функция GROUPING SETS обеспечивает дополнительный контроль результатов и механизмов обработки, используемых в запросах SQL Server.

Улучшения в средствах бизнес-аналитики (BI). Несмотря на то что выход SQL Server 2008 не стал воплощением прорыва в бизнес-аналитике, как выпуск SQL Server 2005, в средства для BI, входящие в состав SQL Server 2008 (а именно SQL Server Integration Services (SSIS), SQL Server Analysis Services (SSAS) и SQL Server Reporting Services (SSRS)), был внесен ряд существенных изменений. В службу SSIS впервые добавлена задача Data Profiling, позволяющая анализировать данные, проходящие через механизмы SSIS. Кроме того, сценарий Data Profiling позволяет в дальнейшем просмотреть результаты через приложение Data Profile Viewer. Новый механизм Cache Transform позволяет повысить производительность системы, выполнив кэширование операций просмотра. Кроме того, сценарий SSIS Script Task был заново создан на основе инструментария Visual Studio Tools for Applications (VSTA) и теперь полностью поддерживает использование обращений Microsoft.NET Framework.

В системе SSAS были отредактированы мастера Cube Wizard и Dimension Wizard, которые облегчают процесс построения модели и делают его более понятным. Специалисты Microsoft усовершенствовали приложение Dimension, дав ему возможность определять отношения между атрибутами и добавив в него новый визуальный конструктор. Кроме того, были оптимизированы процессы резервного копирования и восстановления баз данных, относящихся к системе SSAS.

Одно из наиболее важных изменений, коснувшихся системы SSRS, заключается в том, что теперь не требуется предварительно устанавливать инструментарий Microsoft IIS. Кроме того, был существенно изменен внешний вид конструктора Report Designer. Также обратите внимание на новый формат отчетов Tablix, сочетающий атрибуты таблицы и отчеты в виде матриц.

Еще одна особенность, которая поможет конечным пользователям обращаться к данным в системе SQL Server 2008, — возможность создавать отчеты в приложениях Microsoft Excel и Word. Компания Microsoft приобрела лицензию на использования пакета OfficeWriter от компании SoftArtisans. Данное приложение осуществляет интеграцию редакторов Excel и Word со службами SQL Server и базами данных SSAS.

SQL Server 2008: установка и обновление

Я установил SQL Server 2008 на новый компьютер с системой Windows Server 2003 SP2 и одновременно на другой системе обновил существующую версию SQL Server 2005 до версии SQL Server 2008. Программа установки попросила меня загрузить пакеты .NET Framework 3.5 SP1 и Windows Installer 4.5 и после этого перезапустить компьютер. После перезагрузки мне пришлось вручную перезапускать процесс установки, который инсталлировал необходимые пакеты и проверил соответствие системы требованиям установки и после этого загрузил оболочку Installation Center (см. экран 3).

Экран 3. Оболочка Installation Center

Оболочка Installation Center предусматривает новый подход к установке. На странице Planning размещены ссылки на документацию SQL Server 2008, а вкладка Installation содержит ссылки на программы установки и обновления. Для запуска новой установки нужно выбрать вариант New SQL Server stand-alone installation or add features to an existing installation. Для обновления существующего экземпляра SQL Server 2000 или SQL Server 2005 до версии SQL Server 2008 следует выбрать Upgrade from SQL Server 2000 or SQL Server 2005. Кроме того, программа установки поддерживает использование технологии кластеров и содержит ссылки, используемые как для создания нового кластера с платформой SQL Server, так и для добавления нового узла к существующему кластеру. Процессы установки и обновления прошли гладко. Процесс установки занял всего несколько минут. Процесс обновления потребовал больше времени, примерно полчаса.

Тем, кто знаком со старыми версиями SQL Server, не придется тратить время на подготовку к работе с SQL Server 2008. Подходы к управлению и развертыванию остались прежними. Основным средством управления является среда SSMS, а для создания кубов системы SSAS, пакетов системы SSIS и отчетов системы SSRS используется среда Business Intelligence Development Studio (BIDS).

Есть и еще несколько изменений. В частности, отсутствует старый механизм Surface Area Configuration Tool. Большая часть его функций дублируется инструментом SQL Server Configuration Manager, который был сохранен в версии SQL Server 2008. Кроме того, было решено отказаться от редко используемого инструментария Microsoft SQL Server Notification Services. Среди доступных в процессе установки элементов больше нет базы данных AdventureWorks и хранилища данных AdventureWorksDW. Если кому-то нужны эти базы данных, их необходимо загрузить с сайта www.codeplex.com.

SQL Server Books Online (BOL) по-прежнему остается «лучшим другом администратора баз данных» и отличным источником технической и обучающей информации по SQL Server 2008. Новой особенностью ресурса является его интеграция с Internet-форумами компании Microsoft, посвященными платформе SQL Server. Когда вы хотите задать вопрос, сценарии BOL переадресовывают вас на форумы Microsoft, а также позволяют искать ответ на форумах, не покидая сайта BOL.

Находка для корпораций

Хотя большинство компаний пока не готово к новому крупному релизу SQL Server, я настоятельно рекомендую хотя бы познакомиться с платформой SQL Server 2008. Данное решение благодаря новым особенностям особенно выгодно для больших предприятий и корпораций. Для компаний, работающих с платформой SQL Server Enterprise Edition или изучающих возможность перехода к редакции Enterprise, пакет SQL Server 2008 является обновлением, которое просто обязательно нужно установить. Необходимость этого не так очевидна для пользователей версии SQL Server 2005 Standard Edition, хотя новые типы данных, технология IntelliSense и механизм отладки кодов T-SQL принесут пользу любой компании.

Если вы применяете пакет SQL Server 2000, то сейчас самое время осуществить переход к версии SQL Server 2008. Платформа SQL Server 2008 обладает всеми возможностями версии SQL Server 2005, а также имеет новые особенности, каждая из которых послужит для вас весомым аргументом в пользу обновления. К тому же встроенный механизм обновления облегчает переход от SQL Server 2000 к платформе SQL Server 2008, а следующая версия SQL Server может и не иметь такой возможности.

Майкл Оти - Редактор Windows IT Pro и президент компании TECA (Портленд, шт. Орегон), занимающейся разработкой программного обеспечения и консалтингом. mikeo@windowsitpro.com


Новые типы данных в SQL Server 2008

В SQL Server 2008 появилось несколько полезных типов данных. К ним относятся

HIERARCHYID. Это системный тип данных переменной длины, предназначенный для отслеживания древовидных структур, таких как организационные схемы. С помощью HIERACHYID можно хранить данные, оптимизированные по глубине и ширине.

GEOGRAPHY. Во многие приложения встраиваются картографические функции, поэтому новые пространственные типы данных SQL Server 2008, такие как GEOGRAPHY, станут полезным дополнением. GEOGRAPHY представляет собой пространственный тип данных на основе Microsoft.NET Framework, в котором используется сферическая модель нашей планеты. В этом типе данных хранятся точки, линии, многоугольники и наборы координат долготы и широты.

GEOMETRY. Это еще один пространственный тип данных на основе.NET. В отличие от типа GEOGRAPHY, предназначенного в первую очередь для навигации и картографии на сферической модели Земли, тип данных GEOMETRY соответствует спецификации Open Geospatial Consortium (OGC) и основан на плоской модели.

DATE. Это собственный тип данных SQL. Новый тип DATE соответствует спецификации ANSI и представлен форматом ГГГГ-ММ-ДД. Тип данных DATE может содержать значения от 0001–01–01 до 9999–12–31.

TIME. Еще один собственный тип данных SQL. TIME дополняет новый тип данных DATE. Тип представлен форматом чч: мм: сс [.ннннннн] и может содержать значения от 00:00:00.0000000 до 23:59.59.9999999.

DATETIME2. Тип данных DATETIME2 обеспечивает более точное хранение даты и времени (точность до 100 нс). Тип данных DATETIME2 представлен форматом ГГГГ-ММ-ДД чч: мм: сс [.ннннннн] и хранит значение от 0001–01–01 00:00:00.0000000 до 9999–12–31 23:59.59.9999999.

DATETIMEOFFSET. Это лучший из новых типов данных даты-времени. DATETIMEOFFSET похож на DATETIME2, но в нем учитываются часовые пояса. Для типа данных DATETIMEOFFSET используется формат ГГГГ-ММ-ДД чч: мм: сс [.ннннннн] и могут храниться значения от 0001–01–01 00:00:00.0000000 до 9999–12–31 23:59.59.9999999.

FILESTREAM. Благодаря типу данных FILESTREAM производительность потоковых API-интерфейсов файловой системы сочетается с целостностью транзакций реляционной базы данных. Тип данных FILESTREAM позволяет SQL Server объединить неструктурированные данные и сохранить их в файловой системе NTFS с помощью механизма реляционной базы данных. Механизм SQL Server управляет связью между столбцами FILESTREAM и файлами в файловой системе, в том числе архивацией и восстановлением данных файловой системы.


Редакции SQL Server 2008

уществует семь основных редакций SQL Server 2008: Enterprise Edition, Standard Edition, Web Edition, Workgroup Edition, Express, Express with Advanced Services и Developer Edition. Для каждой из них есть версии x86 и x64. Редакции отличаются возможностями и ценой. Посмотрим, в чем заключаются их основные отличия.

SQL Server 2008 Enterprise и Developer Edition

SQL Server 2008 Enterprise Edition предназначается для больших корпораций и поддерживает до 64 процессоров и до 2 Тбайт оперативной памяти. Данная редакция обеспечивает «горячую» замену памяти и процессора, создание до 50 экземпляров баз данных, секционирование данных, сжатие данных, отказоустойчивые кластеры до 16 узлов, зеркальное отображение баз данных, моментальные снимки баз данных, быстрое восстановление, оперативное индексирование, сбор изменений в данных, расширенное преобразование служб интеграции (SSIS), измерения с обратной записью аналитических служб SQL Server (SSAS), бесконечное число переходов в службах отчетов SQL Server (SSRS) и масштабируемые Web-фермы. Цена SQL Server 2008 Enterprise Edition — 24 999 долл. за один процессор или 13 969 долл. за сервер, включая 25 лицензий на доступ пользователей. Набор функций редакции Developer Edition — такой же, как у Enterprise Edition, но продукт лицензируется для разработчиков (50 долл. за лицензию) и не может использоваться для производственных целей.

SQL Server 2008 Standard Edition

Редакция SQL Server 2008 Standard Edition предназначена для средних компаний и поддерживает до четырех процессоров, до 2 Тбайт оперативной памяти и до 16 экземпляров баз данных. В Standard Edition входят все основные функции бизнес-аналитики, в том числе SSIS, SSAS и SSRS. Цена Standard Edition — 5999 долл. за один процессор или 1849 долл. за один сервер с лицензиями на доступ пяти пользователей.

SQL Server 2008 Web Edition

Новое дополнение к семейству продуктов SQL Server предназначено для поставщиков услуг Web-хостинга. Поддерживает до четырех процессоров, до 2 Тбайт оперативной памяти и до 16 экземпляров баз данных. Редакция Web располагает службой SSRS, но не SSIS или SSAS, а стоимость лицензии — 15 долл. за один процессор в месяц.

SQL Server 2008 Workgroup Edition

Редакция Workgroup Edition проектировалась для небольших компаний и подразделений корпораций. Поддерживает до двух процессоров и 16 экземпляров, может использовать до 4 Гбайт оперативной памяти. Работает с реляционными базами данных и службой SSRS, но не SSAS и SSIS. Цена Standard Edition — 3899 долл. за один процессор или 739 долл. за один сервер с пятью лицензиями доступа пользователей.

SQL Server 2008 Express и Express with Advanced Services

Редакция SQL Server 2008 Express ориентирована для разработчиков и подходит для небольших компаний. Также используется как встроенная база данных для многих других приложений Microsoft, таких как SharePoint и система Microsoft System Center. Express Edition поддерживает один процессор, до 1 Гбайт оперативной памяти и 16 экземпляров баз данных.

В редакции Express with Advanced Services Edition расширены возможности реляционной базы данных благодаря включению службы SSRS и среды SQL Server Management Studio Basic, с помощью которой можно управлять системами SQL Server Express. SQL Server 2008 Express и SQL Server 2008 Express with Advanced Services можно загрузить бесплатно по адресу http://www.microsoft.com/express/sql/default.aspx, а Express with Advanced Services — http://www.microsoft.com/Downloads/details.aspx?familyid=B5D1B8C3-FDA5–4508-B0D0–1311D670E336&displaylang=en.

Существует еще одна редакция, SQL Server Compact Edition 3.5, но ее базовый программный код отличается от других редакций SQL Server. Compact Edition — исключительно 32-разрядный продукт и предназначен в основном для использования в качестве компактной внутрипроцессной базы данных для мобильных и настольных приложений.