(Возврат на основную страницу)
Количество нововведений в SQL Server 2005 просто поражает. Прежде всего, привлекает внимание интеграция CLR с ядром обработки данных (SQL Server database engine), и это вполне понятно. Она предлагает новую функциональность, равно как и великолепные «грабли», на которые может наступить каждый. Однако возможность запускать CLRкод по умолчанию отключена, так что об этом можно не беспокоиться до тех пор, пока это вам действительно не понадобится.
Хотя включение поддержки CLR важно как для Microsoft, так и для самого SQL Server, это не самое главное. Я бы назвал Business Intelligence (BI) главным новшеством SQL Server 2005. На конференции Professional Association for SQL Server (PASS) в 2004 году Билл Бейкер (Bill Baker) представил концепцию интеграцияанализотчетность, описывающую возможности BI. Практически каждый аспект этих особенностей реализации BI был либо полностью переработан, как в случае с SQL Server Integration Services (SSIS), заменившим DTS, либо существенно расширен, как в случае с Analysis Services и Reporting Services.
Можно спорить, но, на мой взгляд, наибольшие изменения пришлись на долю SSIS. Полностью измененный с нуля инструментарий SSIS радикально отличается от Data Transformation Services (DTS) и приходит ему на замену. Хотя DTS и был полезен, он страдал от проблем, связанных с масштабируемостью и переносимостью. В то же время SSIS — не просто средство переноса данных, а полномасштабный процессор поддержки документооборота. Производительность существенно повысилась, а новые задачи включают организацию циклов, исполнение пакетов и расширенные средства управления потоком исполнения. Новые средства настройки пакета (Package Configurations) позволяют на этапе исполнения передавать в пакет значения переменных, получаемых из реестра, XMLдокументов, родительских пакетов или переменных окружения (environment variable), что делает пакеты SSIS более гибкими и переносимыми.
Ядро Analysis Services было значительно расширено. В Analysis Services 2005, OLAP кубы используют новую универсальную модель описания измерений (Unified Dimensional Model, UDM), которая сочетает мощь OLAP и реляционного процессора обработки данных, что позволяет обеспечить необходимый баланс между производительностью и способом хранения данных, используемым кубами. Кроме того, следует упомянуть проактивное кэширование для развертывания кубов, расширения MDX и поддержку нового языка запросов XML for Analysis (XML/A). Кроме того, Microsoft расширила список поддерживаемых моделей datamining models, предоставляющих больше возможностей для построения трендов изменения данных и предсказания.
Изменения подготовки отчетов не менее значительны, чем те, что мы видим в компонентах интеграции и анализа. Включение сервера отчетов создает полноценную инфраструктуру масштаба предприятия, позволяющую проектировать и распространять отчеты в масштабах всей организации. К тому же, средство Report Builder позволяет конечным пользователям проектировать отчеты и полностью интегрировано с Reporting Services.
С учетом пятилетнего срока подготовки новой версии неудивительно, что SQL Server 2005 включает столько нового (это наиболее богатая версия после SQL Server 7.0). Хотя ожидаемый продукт содержит много нововведений, функциональность, относящаяся к BI, — это львиная доля интересного и полезного. Многие организации не спешили использовать BI предыдущих версий, но теперь у них просто нет оснований поступать попрежнему. SQL Server 2005 расширяет определение BI за счет включения интеграции данных и средств представления результатов, что распространяется за рамки аналитических средств. Сама суть изменений в BI функциональности SQL Server 2005 позволяет широкому кругу организаций быстро применить их в ежедневной работе. Несмотря на множество других нововведений, SQL Server 2005 можно смело рассматривать как «BIверсию».
Довольно часто в новостных группах встречаются такие вопросы об MS SQL Server: как использовать результирующий набор данных из одной хранимой процедуры в другой? как использовать результирующий набор данных из хранимой процедуры в команде SELECT?
Эта статья отвечает на вопросы, и в ней рассматриваются преимущества и недостатки представленных методов.
Здесь рассматриваются преимущества нового встроенного в SQL Server 2005 типа данных XML для добавления столбцов XML в таблицу, заполнения и индексирования этих столбцов и понимания основ синтаксиса XQuery. Вам понадобится такой набор инструментов: XML, SQL Server 2005 или SQL Server Express beta 2 (февральская или более поздняя версия CTP), Visual Studio 2005 (февральская или более поздняя CTP) или Visual Basic Express beta 2, XPath 2.0, XQuery 1.0.
Объединение иерархического содержимого XML и реляционных столбцов в таблицах базы данных похоже на смесь масла и воды — две структуры данных являются абсолютно различными партнерами. Изначальным решением было хранение документов XML в виде больших символьных объектов (character large object, CLOB), что требует добавления столбцов, содержащих извлеченные из XML атомарные значения или значения полнотекстового поиска для определения расположения определенных экземпляров документа, узлов или значений. Альтернативой является разделение документов на набор реляционных столбцов, но это требует сложной конвертации из иерархической системы в реляционную. Сейчас все основные игроки на рынке реляционных СУБД планируют внедрить часть 14 стандарта ANSI SQL 2003. Часть 14, «XMLRelated Specifications (SQL/XML)» («Относящиеся к XML спецификации»), определяет модифицированный тип данных XML Infoset, который имеет наборы операторов, функций публикации и правил конвертации компонентов SQL в XML, но не поддерживает соответствие со схемой XML. Следующий стандарт ANSI, или, как его обычно называют, ANSI SQL 200n, будет основан на модели данных XQuery 1.0/XPath 2.0 (смотрите раздел «Дополнительные ресурсы» в конце статьи) и позволит проверять экземпляры XML на соответствие схемам.
Новый встроенный в SQL Server 2005 тип данных XML идет дальше стандарта SQL 2003, позволяя выражениям XQuery 1.0 и XPath 2.0 получать, реструктурировать и обновлять множество строго типизированных экземпляров документов XML.
Тип данных XML — это вариация типа данных varbinary(max), который хранит закодированные в UTF16 документы XML или фрагменты в виде сжатых больших двоичных объектов (binary large object, BLOB). Структура столбца XML позволяет оптимизатору запросов SQL Server 2005 генерировать планы запросов, которые минимизируют время выполнения (см. «Дополнительные ресурсы»). Я покажу, как добавлять столбцы XML в таблицу, заполнять столбцы экземплярами документов с помощью SQLXMLзапроса FOR XML AUTO TYPE и добавлять XmlSchemaCollections. Я также объясню основной синтаксис XQuery и представлю примеры выражений для получения выбранных экземпляров документа, узлов или атомарных значений и обновления содержимого столбца XML.
Вам понадобится февральская или более поздняя версия Community Technical Preview (CTP) SQL Server 2005 — или SQL Server Express (SQLX) и SQL Server Express Manager (XM) — с установленным примером базы данных Northwind для выполнения некоторых пакетов команд TSQL и выражений XQuery (см. «Дополнительные ресурсы»). Также требуется совместимая версия Visual Studio 2005 или Visual Basic Express для анализа кода формы Windows XQuery.sln демонстрационного проекта, который я кратко опишу.
В заключительной части статьи вы познакомитесь с очередными усовершенствованиями TSQL в SQL Server 2005, такими как оператор APPLY, команда PIVOT, функции ранжирования и постраничной выборки и управление прерыванием транзакций.