(Возврат на основную страницу)
Microsoft намечает (весьма туманно) свою дорогу в области баз данных
Подумайте о том, что каждые два или три года будет выходить новая версия SQL Server. Ждите новую мобильную версию SQL Server для платформы Windows и не пропустите новые инструменты в нагрузку от рэдмондского гиганта программного обеспечения.
На Customer Lunch в СанФранциско 6 апреля Microsoft обозначила в самых общих чертах свое видение технологий хранения данных в долгосрочной перспективе.
Компания находится в процессе преобразования своего бренда SQL Server Mobile Edition, который теперь получит название SQL Server Everywhere. Выпуск первой тестовой сборки новой версии этого продукта Community Technology Preview (CTP) планируется летом 2006 г., а финальная версия предположительно будет доступна во второй половине 2006 г. SQL Server Everywhere будет работать не только на платформе Windows CE как текущая версия продукта, но и на платформах Win32 и Win64.
«SQL Server Everywhere — значительно облегченная система управления базами данных. Это не сервер. Она предназначена для использования в онлайновом и офлайновом режимах», — сказал Пол Флесснер (Paul Flessner), старший вицепрезидент подразделения Data and Storage Division компании Microsoft. Он добавил, что в режиме офлайн пользователь может запустить SQL Server Everywhere на своей Windowsсистеме, а потом синхронизировать его с серверной версией SQL Server.
Кроме того, как сообщил Флесснер, Microsoft собирается выпустить финальную версию первого пакета обновлений (SP) для SQL Server 2005. CTPверсия SP1 доступна с прошлого месяца. Самым главным новшеством в этом наборе обновлений станет возможность зеркалирования данных, которую Microsoft исключила из SQL Server 2005 на последних стадиях тестирования.
Пол предложил нечто среднее «между видением и дорожной картой», как он сам выразился, детализируя планы компании по удовлетворению меняющихся требований пользователей к системам хранения данных. Microsoft разместила на своем Webсайте конспект интервью Флесснера в виде открытого письма к потребителям, в котором заявлено: «Девяносто процентов всех данных сейчас хранится в файлах, а не в базах данных. И если базы данных хотят оставаться востребованными, они должны уметь хранить все эти данные».
Microsoft собирается предложить пользователям способы хранения и извлечения как структурированных, так и неструктурированных данных. Но Флесснер отказался сообщить какиелибо подробности. По его словам, можно также рассчитывать, что компания уделит внимание тому, как изменение требований к хранению данных повлияет в будущем на проектирование приложений. При создании приложений нового поколения будут учитываться множественные источники данных, архитектуры, ориентированные на сервисы, и Webсервисы.
Когда Флесснера спросили о планах Microsoft по выпуску нового продукта для хранения данных под кодовым названием BitVault, он снова стал неразговорчивым. Он признал, что рассматривается возможность поддержки «хранилища данных, адресуемого по содержимому» и существует проект BitVault, который входит в эту категорию, но отказался сообщить более подробные сведения.
Флесснер заявил, что начиная с настоящего времени от Microsoft можно ожидать выпуска новой версии SQL Server каждые дватри года. Выход Katmai, следующей версии SQL Server, ожидается наблюдателями около 2007—2008 гг.
Флесснер отказался обсуждать подробности, касающиеся Katmai. Он пообещал, что эта версия будет обладать большей функциональностью в области постоянной доступности и самонастройки, а также рассказал, что, скорее всего, продукт будет поддерживать «сущностную шину данных», которая обеспечит определение данных более высокого уровня с помощью интерфейса ADO компании Microsoft. Он добавил, что новая версия Visual Studio под кодовым названием Orcas, которая должна увидеть свет в 2007 г., тоже создается с учетом поддержки этой сущностной шины данных.
SQL Server набирает вес
Значительные доработки от Microsoft обеспечивают существенные новые возможности и множество инструментов
Шон МакКаун (Sean McCown)
Называть SQL Server 2000 90фунтовым слабаком изза отсутствия определенных функций highend — все равно, что считать хиляком Геркулеса, потому что он никогда не бежал марафон. Не каждый силач способен на любые подвиги, и далеко не всем компаниям требуются тяжеловесные возможности. Многие фирмы, крупные и маленькие, годами использовали в своем бизнесе SQL Server.
Нельзя не признать, что SQL Server всегда уступал Oracle Database, когда речь заходила о функциональности уровня предприятия, особенно в областях высокой доступности и восстановления после сбоев. В то время как Oracle отвечала таким требованиям к функционированию в постоянно доступном режиме критичных приложений, как переиндексирование на лету, восстановление на основе снимков и пересылка журналов при отказе, SQL Server не гарантировал отсутствие потерь данных без использования решений сторонних разработчиков. Для покупателей, которым не требовался такой уровень защиты данных, SQL Server предлагал устойчивую базу данных и более низкую стоимость лицензий. Но простои в связи с обслуживанием и восстановлением были неизбежны.
Так было до сегодняшнего дня. За более чем пять лет доработки SQL Server 2005 не только справился со своими недостатками в области доступности и восстановления после сбоев — он значительно усовершенствовался практически во всех областях. Управление заданиями стало проще, а возможности мониторинга и диагностики значительно расширились. Защищенная конфигурация по умолчанию, шифрование данных и другие новые функции усилили безопасность. Такие службы, как Analysis Services, Reporting Services и Data Mining, теперь полностью интегрированы и хорошо продуманы. Служба DTS (Data Transformation Services) была полностью переписана, преобразовавшись в более гибкую и мощную SQL SSIS (SQL Server Integration Services). Интеграция с Visual Studio и платформой .NET позволяет разработчикам на .NET получить доступ к внутренностям SQL Server, а разработчикам на SQL — к внутренностям среды .NET, что позволит использовать мощь платформы .NET в создании хранимых процедур, работе с потоками и преобразованиями данных, встроенных приложениях и многом другом (см. статью «Taking the database beyond SQL» по адресу: http://www.infoworld.com/article/06/01/16/73697_03FEsqlsb_1.html).
SQL Server 2005 также обещает улучшенную производительность. Я не проводил тесты производительности перед написанием этого обзора, но помимо возможности для администраторов разделять базу данных для балансировки нагрузки Microsoft проделала огромный объем работ с целью улучшить управление памятью, стратегии индексирования и оптимизации запросов. Пользователи увидят разницу.
Многие изменения в SQL Server 2005 потребуют от разработчиков и администраторов баз данных уделить некоторое время обучению. Одна из ключевых функций в области высокой доступности, зеркалирование баз данных, пока остается на практике betaверсией. Microsoft еще предстоит много работы, особенно в части интеграции и совершенствования многочисленных инструментов SQL Server. Однако значительные изменения и доработки, внесенные Microsoft в этот продукт, закрывают разрыв между SQL Server и Oracle, делая SQL Server достойным соперником даже при работе с очень большими базами данных и в условиях самых жестких требований крупных предприятий1.
Новый способ перемещать ваши данные
SSIS, обновленный набор инструментов для перемещения и манипуляций с данными, не только обеспечивает намного возросшие по сравнению с DTS производительность, надежность и функциональность, но также предлагает большое количество новых встроенных задач, которые позволяют уменьшить количество кода, необходимого для выполнения наиболее распространенных операций, включая резервное копирование баз данных, переиндексирование таблиц и проведение проверок целостности. Но что еще более важно, SSIS меняет парадигму моделирования, принятую в DTS, логически разделяя свои составляющие блоки на компоненты для работы с потоком управления и потоком данных.
Контейнеры для работы с потоком управления являются графическим представлением операций, которые потребовали бы от разработчиков десятков строк кода и многих часов отладки для своего создания. Некоторые из операций, которые вы можете выполнять при помощи новых контейнеров (а именно Sequence, For Loop и Foreach), вообще не могут быть выполнены в DTS или будут слишком сложны.
SSIS также позволяет работать с разными платформами, а не только с различными СУБД. Например, в то время как DTS предоставляла ограниченную видимость в области OLAP и практически никакой в области извлечения информации из массивов данных (data mining), данные технологии изначально поддерживались SSIS. Это означает, что вы можете выполнять запросы data mining, работать с медленно меняющимися измерениями и отправлять данные, куда вам хочется, — даже в отчеты Reporting Services. Фактически SSIS служит мостом между SSAS и SSRS и любым источником данных, совместимым с ODBC.
Конфигурирование установочных пакетов — другое существенное улучшение. Оно позволяет считывать определенные элементы пакета (местоположение файлов, соединения с базами данных, учетные данные и т. п.) из внешнего источника (например, XMLфайла) и применять их в процессе работы. Эта функция дает возможность развертывать пакеты очень быстро, поскольку вам не придется изменять их при переносе с одной системы на другую. Вы просто модифицируете настраиваемые элементы конфигурации, и пакет будет без проблем запущен на новом сервере.
И наконец, интеграция в .NET освобождает SSIS от присущей DTS зависимости от ограничений VBscript и позволяет серьезным программистам воспользоваться богатством VB.NET. Благодаря этому манипуляции с файлами и строками, математические операции и вызовы функций Win32 выполняются гораздо проще и быстрее.
Как вы, наверное, и ожидаете, ценой за усилившую мощь и гибкость SSIS стала возросшая сложность. SSIS требует определенных усилий в освоении новых возможностей, что выглядит устрашающе, но после того, как вы научитесь им пользоваться, SSIS изменит представление вашей компании о данных. Системы, которые раньше не могли взаимодействовать, теперь прекрасно интегрируются и используют всю мощь платформы .NET. Сложные операции загрузки данных в хранилища данных и разнообразные системы потребуют намного меньше времени для построения, выполнения и поддержки. Другие сложные задачи также будут выполняться значительно быстрее, так что станет проще соблюдать сроки и выполнение проектов не будет задерживаться изза ограниченной функциональности DTS и проблем при совместном выполнении операций.
Максимум для администратора
Microsoft также внесла несколько значительных изменений в инструменты управления, заменив Enterprise Manager и Query Analyzer новой SSMS (SQL Server Management Studio). SSMS служит как в качестве утилиты командной строки, позволяющей выполнять такие задачи, как создание баз данных и управление учетными записями пользователей, так и в качестве инструмента для написания кода. SSIS и Profiler остались за рамками этого слияния.
Но пользователи не будут полностью удовлетворены этими изменениями. Выполнение обычных задач, таких как просмотр плана исполнения и даже просто выполнение запросов, стало гораздо медленнее. Окна приложения при выполнении запросов могут вообще перестать отвечать на действия пользователя, а построение планов исполнения занимает гораздо больше времени, иногда приводя к зависанию окна. Microsoft также изменила способ отображения планов исполнения, поэтому самые большие из них стали намного сложнее для чтения. Ваши любимые быстрые клавиши исчезли, а щелчок правой кнопкой мыши на представлении, который раньше позволял редактировать его, переносит вас прямо в построитель запросов. Многим администраторам баз данных это не понравится.
Но эти раздражающие изменения в значительной степени искупаются возросшими возможностями администрирования в целом. Одна из областей, где достижения Microsoft превышают все ожидания, — это управление журналами ошибок SQL Server. SSMS не только отображает журналы ошибок, но также совмещает их с журналами событий Windows NT в одной секции окна, позволяя администраторам видеть всю необходимую информацию в одном месте. Говоря о совмещении журналов, будет правильным упомянуть улучшения в инструменте Profiler, который теперь может совмещать журналы трассировки SQL Server с журналами Perfmon. Теперь гораздо проще соотносить счетчики производительности с конкретными запросами. На самом деле найти именно то, что вам нужно, очень легко. Щелкните на пике производительности в журнале Perfmon — и вы автоматически попадете в нужное место журнала Profiler.
В самом сердце новых возможностей SQL Server по администрированию находятся представления динамического управления (Dynamic Management Views, DMV) и функции, позволяющие администраторам глубже заглянуть в операции баз данных. Раньше Microsoft скрывала глубинные аспекты работы базы данных, но, чтобы удовлетворить требования к управлению большими БД, нужно дать администраторам больше контроля. DMV обеспечивает лучшую видимость в таких областях, как использование памяти и индексов, статистические данные по таблицам и серверу в целом, безопасность и др. Так много вещей, которые вы не могли увидеть раньше, теперь доступны на кончиках пальцев.
Кроме того, администраторы баз данных получают готовые отчеты о детализированной статистике по базе данных и серверу, включая изменения схемы, использование памяти и индексов, потребление ресурсов, блокировки и многое другое. Эта функциональность SSMS основана на SSRS, и я обнаружил, что при подготовке отчета о сильно загруженном сервере или большой базе данных с множеством объектов она иногда работает крайне медленно. Я также немного разочарован тем, что Microsoft не предоставила код на языке RDL (Report Definition Language, язык определения отчетов). В результате вам не удастся поменять способ отображения предопределенных отчетов, а также добавить ваши собственные отчеты или настроить подписку, как это делается в SSRS. Впрочем, вы можете вручную экспортировать отчет в формат Excel или PDF.
Одной из ключевых целей при проектировании SQL Server 2005 была более безопасная конфигурация сразу после установки. Чтобы сократить поле деятельности для злоумышленников, наиболее опасные в этом отношении функции отключены, пока администратор не включит их явно. Это, конечно, помогает, но не имеет большого значения для опытных администраторов баз данных, у большинства из которых есть сценарии для блокировки опасных функций и которые не считают большой проблемой их запуск при установке. Действительно же значительные улучшения в области безопасности относятся к управлению паролями и назначению прав. Теперь внутренние пароли SQL Server могут быть настроены так, чтобы отвечать политикам паролей Windows, то есть вы можете потребовать от паролей SQL Server соответствовать тем же политикам в области длины, окончания действия, истории, количества попыток ввода пароля перед блокировкой учетной записи, длительности блокировки и периода действия, что и пароли учетных записей Windows. Вы даже можете потребовать от пользователя поменять пароль при следующем входе в систему. Другие важные улучшения в области безопасности включают в себя больше контроля над изменениями схемы (обсуждаемые ниже в секции про улучшения в области программирования) и возможность шифрования данных на уровне столбцов.
SQL Server 2005 также обладает новыми поразительными возможностями по увеличению доступности и упрощению восстановления после сбоев. В области высокой доступности Microsoft представила технологии зеркалирования баз данных и внесла несколько важных изменений в механизм репликации. Теперь изменения схемы будут автоматически реплицированы всем подписчикам, администратору больше не потребуется запускать вручную код для выполнения этой операции. При использовании снимков больше не нужно заново стартовать после ошибок, работа будет автоматически продолжена после сетевых сбоев или других аварийных ситуаций, позволяя восстановить систему гораздо быстрее. Кроме того, репликация логических записей, позволяющая определить родительские и дочерние данные, которые должны быть реплицированы вместе или не реплицированы вообще, обеспечивает более целостные сценарии высокой доступности и отсутствие логических ошибок на стороне подписчика.
Зеркалирование позволяет вам указать базу данных на другом сервере, которая будет поддерживаться в синхронизированном состоянии с основной базой данных. Это позволяет переключиться на зеркальный сервер при отказе основного, обеспечивая первый сценарий высокой доступности для SQL Server с нулевой потерей данных. Эта конфигурация может быть весьма требовательна к приложениям и ресурсам сети, поэтому нуждается в тщательном тестировании, но данная возможность наконец доступна. Обратите внимание, что в этом выпуске зеркалирование пока еще не позиционируется как рабочая функция. В поставляемой на данный момент версии SQL Server 2005 эта функциональность выключена и не поддерживается (установка SP1 решает эту проблему — см. выше).
Зеркалирование хорошо себя проявило в моих тестах, без проблем обрабатывая отказы 100гигабайтной базы данных. Мониторинг данной возможности, тем не менее, пока еще очень примитивен. Он состоит из малого количества DVM и счетчиков производительности, поэтому не так просто выяснить, какой объем данных был реплицирован, насколько вторичная система отстает от основной или какова стоимость репликации. Сложность получения информации о процессе может стоить вам нервных затрат.
Что касается восстановления после сбоев, SQL Server 2005 сокращает время простоя, необходимое для восстановления базы из резервной копии. Новая возможность восстановления в режиме онлайн позволяет пользователям начать работу с базой данных, как только нужные им объекты станут доступны. В SQL Server 2000 база должна была быть приведена в рабочее состояние целиком, прежде чем пользователи смогут к ней обратиться. Учитывая время, необходимое для полного восстановления БД размером несколько терабайт, восстановление в режиме онлайн позволит вам почувствовать разницу между продуктивным функционированием и невозможностью работать в течение нескольких часов.
Исправить базу данных вы теперь также можете со значительно меньшими неудобствами для пользователей. Восстановление на уровне страниц дает возможность восстановить единственную поврежденную страницу, не препятствуя доступности всей базы данных.
Разработка приложений новой эры
Улучшения в области программирования баз данных можно разделить на две категории: для разработчиков и для администраторов БД. Помимо интеграции с .NET/CLR, наиболее важными для разработчиков стали, пожалуй, CTE (Common Table Expressions, общие табличные выражения). Кроме элегантного решения проблемы рекурсивных запросов, на котором я не буду подробно останавливаться, CTE позволяют разработчикам упростить код с помощью встраиваемых (inline) определений запросов, заменяющих представления или производные таблицы. CTE не только упрощают сложные запросы, но и ведут себя так же, как производные таблицы, поэтому их реализация не требует дополнительных затрат.
Другое важное улучшение: блок TOP, который позволяет вам определить, что будет возвращено только заданное количество записей из результирующего набора (например, 10 продавцов с максимальным доходом в США), теперь может принимать это количество в качестве параметра. Это кажется не слишком уж важным, но это один из тех случаев, когда относительно малое изменение вносит существенную разницу в труд разработчика. Теперь вместо статического значения (например, TOP 10) вы можете использовать в коде переменную, чтобы пользователи могли запросить TOP 10 или TOP 100 (или любое другое число) записей на лету.
Другие приятные добавления для разработчиков включают в себя ранжирование, шаблоны случайных данных, поворот (pivot/unpivot) результатов запроса, синонимы, расширенную обработку ошибок и контекст безопасности кода. Многие разработчики будут петь дифирамбы встроенным возможностям SQL Server 2005 по работе с XML. Как я упоминал в своем сравнении возможностей по обработке XML ведущих реляционных баз данных в апреле 2004 г. (http://www.infoworld.com/article/04/04/23/17FExml_1.html), SQL Server 2000 позволял только разобрать документ XML на части и преобразовать его в реляционные данные. Это был весьма громоздкий процесс, который не мог сохранить иерархию XML. Теперь вы можете импортировать XML в столбец и не только выполнять родные XMLзапросы, но и проиндексировать его для быстрого извлечения данных.
Администраторы не остались в стороне от этой революции в области программирования. Некоторые изменения в написании кода дают им такие возможности управления из командной строки, которые из Management Studio недоступны. В частности, DDL (Data Definition Language, язык определения данных) не только изменит работу администраторов баз данных, но и позволит директорам компаний лучше спать по ночам. Триггеры DDL срабатывают каждый раз, когда происходят изменения в схеме базы данных, и они могут быть определены для почти любого объекта на сервере или в БД. С их помощью нежелательные изменения схемы уйдут в прошлое.
Индексы — это всегда весьма изменчивые объекты в скольконибудь загруженной рабочей среде. Администраторам нужно обслуживать базу данных, а менеджеры не хотят прерывать операции. Индексирование в режиме онлайн позволяет администраторам баз данных создавать и перестраивать индексы, не переводя базу данных в режим офлайн. Индекс строится параллельно таблице и применяется после создания. Разумеется, этот процесс весьма требователен к ресурсам, но данная функция позволит существенно повысить доступность для магазинов, чьи базы данных должны быть в рабочем режиме постоянно. Кроме того, теперь администраторы могут контролировать уровень блокировок при проведении операций над индексами.
Это не тот OLAP, который знал ваш отец
Набор встроенных инструментов SQL Server 2005 включает SSAS (SQL Server Analysis Services), SSDM (SQL Server Data Mining) и SSRS (SQL Server Reporting Services). Все они спроектированы для совместной работы в ответ на ваши интеллектуальные запросы. SSAS сейчас выглядит на редкость хорошо благодаря многим улучшениям, касающимся удобства в использовании. Новый Business Intelligence Wizard содержит готовые решения для наиболее распространенных задач. Операции с денежными единицами, полуаддитивные меры и временны�е вычисления, — вот только несколько ситуаций, которые может обработать этот мастер.
Одно из очень важных изменений в структуре SSAS — это UDM (Unified Dimensional Mode, единая модель измерений). UDM трудно полностью понять, пока вы не начали с ней работать. Но в целом она является мостом между такими клиентами, как Excel, и любым числом разнородных источников данных. Проще говоря, она находится между вами и этими источниками данных и отображает для вас представление данных, которые вы запросили. UDM вносит несколько важных изменений в вашу работу с SSAS. Одно из них заключается в том, что теперь у вас может быть много быстрых таблиц и фактически вам доступна вся реляционная схема. UDM делает ненужными виртуальные кубы и виртуальные измерения, предоставляя не только большую функциональность, но и гораздо более простую в работе модель.
Одно из моих любимых новшеств — упреждающее кэширование (proactive caching). Этот механизм позволяет вам задать метрику, которая определяет, когда обновляются данные. Есть несколько способов это сделать, но один из лучших заключается в том, чтобы обновлять ваш куб, когда меняются базовые данные. Данные обновляются на уровне раздела, и существует множество настроек для балансировки производительности и латентности.
Служба SQL Server Data Mining выросла из эксперимента в полноценное приложение. В то время как у SQL Server 2000 было два алгоритма извлечения — простая кластеризация и простое дерево решений — у SQL Server 2005 их десять. Кроме того, он имеет 25 новых визуализаций и визуальных редакторов запросов. Все эти инструменты значительно упрощают программирование и работу с моделями извлечения. Я бы не сказал, что Microsoft окончательно добилась цели предоставить непрофессионалам возможность использовать data mining, но применять инструменты Microsoft гораздо проще, чем инструменты сторонних разработчиков.
Последний штрих в области предоставления информации Business Intelligence — SQL Server Reporting Services SSRS (служба подготовки отчетов). В новом выпуске Microsoft ликвидировала множество проблем с написанием и распространением отчетов. Возможно, самое важное улучшение, — Report Builder. Это новый Webинтерфейс, который позволяет конечным пользователям создавать и публиковать свои собственные отчеты. Администраторы публикуют модель отчетов, которая является определением данных, по которым они хотят предоставить пользователям возможность готовить отчеты, а пользователи с помощью интерфейса в виде мастера создают любые отчеты. В известном смысле они могут быть богаче традиционных отчетов SSRS, поскольку доступны с почти бесконечными встроенными возможностями поиска, чего просто нет у спроектированных отчетов.
Элементы управления Report Builder позволяют разработчикам встроить отчеты в свои приложения. Вместе с этой желаемой функциональностью Report Builder включает поддержку пользовательских элементов управления, что позволяет разработчикам (вероятно, сторонним производителям программного обеспечения) расширить возможности SSRS.
SSRS также включает более мелкие улучшения, которые конечные пользователи найдут для себя полезными. Одно из них — параметры с множественными значениями, которые позволяют пользователям передать более одного значения (например, несколько регионов продаж) внутри одного единственного параметра. Раньше эта функциональность основывалась на передаче элементов с разделителями в единственный параметр с последующим их извлечением в самостоятельные сущности в базе данных. Другие приятные дополнения — это интерактивная сортировка, когда пользователь может изменять критерий сортировки столбцов в своих отчетах, как ему нужно, и элемент управления calendar picker, который позволяет выбрать дату из всплывающего календаря вместо того, чтобы набирать ее на клавиатуре.
Для разработчиков существенно, что SSRS может работать с SSAS и SSIS напрямую, используя их в качестве источников данных. Это большой шаг вперед, потому что теперь пользователи SSRS могут следовать заранее определенным процедурам для создания любого числа отчетов любым способом. Уже одна интеграция SSIS позволяет извлекать данные из множественных источников, комбинируя различные базы данных, Webсервисы, материалы RSS, SSAS и хранилища data mining. Возможности безграничны.
Список пожеланий
Что осталось нереализованным в этой версии? Многие разработчики и администраторы баз данных очень ждали появления IntelliSense для программирования на TSQL. Многие также надеялись, что появится некое централизованное хранилище для кода. Есть шаблоны, но они обычно находятся на стороне клиента, администраторы и разработчики не могут просто извлечь их из централизованного ресурса в режиме онлайн. SSIS — огромный шаг вперед по сравнению с DTS, но все же не ETLсервер, а это значит, что она использует ресурсы сервера, который запускает пакет на исполнение. Эти очень огорчало многих администраторов, хотя текущая архитектура также имеет свои преимущества, а администраторы баз данных смирились и привыкли с ней работать. Наконец, Microsoft так и не предложила достойный ответ на сетевое решение Oracle, которое позволяет объединять множественные серверы баз данных в кластеры для балансировки нагрузки, восстановления и управления ими как единым целым. Это последнее важное преимущество над SQL Server, заявленное Oracle.
Кому стоит обновить версию SQL Server и когда это сделать? Организации, которым следует подумать об обновлении прямо сейчас, — предполагая, что их приложения сертифицированы для работы с новой версией и миграция не сделает недействительными их контракты на поддержку, — это организации, которым нужна постоянная доступность, которые активно используют DTS или должны соответствовать требованиям закона СарбанисаОксли.
Если вы не можете позволить себе длительные простои в связи с обслуживанием или по другим причинам, то вам тоже не следует медлить с этим обновлением. Улучшения SQL Server 2005 в области репликации, переиндексации в режиме онлайн, частичного восстановления и (скоро) зеркалирования баз данных принесут вам долгожданное облегчение.
Если вы в настоящий момент используете все возможности DTS, переход на SSIS значительно упростит операции, но может быть не таким легким, как вам хотелось бы. Очень важно правильное планирование. Лучшим решением здесь будет установить выделенный SSISсервер и обновлять комплекты ПО по одному. Это позволит вам заниматься обновлением и тестированием в свободное от других задач время.
Если вы беспокоитесь о соблюдении нормативных требований, новые функции в области безопасности и триггеры DDL быстро приведут вашу базу данных в порядок. Внедрение политик паролей может вызвать проблемы в вашей среде, поэтому уделите достаточно внимания планированию.
SQL Server 2005 — великолепный продукт, который обеспечит Microsoft признание на рынке баз данных класса highend. Инструменты SQL Server 2005 опережают Oracle и DB2 почти во всем — в управлении, мониторинге и особенно разработке, — и из этих трех производителей Microsoft, кажется, наиболее заинтересована в их улучшении. Похоже, оставшимся двоим пора браться за гантели.
1С выходом Service Pack 1 для SQL Server 2005 (http://www.microsoft.com/sql/sp1.mspx) технология зеркалирования перешла из разряда «попробуйте» в разряд «готово к применению». — Прим. ред.
Систематизация разных типов фрагментации
Кален Дилани (Kalen Delaney)
Возможно, вы знаете о том, что в Server 2005 появилась новая табличная функция sys.dm_db_index_physical_stats. Заменяя функцию DBCC SHOWCONTIG, она возвращает информацию о физической организации ваших структур данных.
Табличная функция sys.dm_db_index_physical_stats может возвращать информацию о любом объекте SQL Server 2005, который необходимо физически сохранять, включая таблицы, индексы и индексированные представления. Давайте рассмотрим смысл некоторых возвращаемых значений.
XML в SQL Server 2000 и SQLXML. Часть 1
Даршан Сингх (Darshan Singh)
Microsoft SQL Server 2000 (под кодовым именем Shiloh) впервые предоставил встроенную поддержку XML и HTTP. С тех пор, чтобы идти в ногу с улучшениями в области XML, Webсервисов и .NET, Microsoft расширила SQL Server 2000 за счет Webвыпусков SQLXML. Эта статья представляет собой обзор встроенной поддержки XML и HTTP в SQL Server 2000. Также в ней описаны функции, ставшие доступными в недавнем Webвыпуске SQLXML (версия 3.0, сервисный пакет 2).
Начнем с рассмотрения встроенных возможностей SQL Server 2000 — функций, которые вы можете использовать без установки любого из Webвыпусков SQLXML.
SQL Server 2000 позволяет:
• извлекать реляционные данные в виде XML;
• получать доступ к реляционным данным через HTTP;
• загружать и считывать XML в набор строк;
• создавать XMLпредставления с помощью аннотированных XDRсхем.
SQL Server 2000 поддерживает XML 1.0, пространства имен XML, XDR (XMLData Reduced), схемы от Microsoft, XSLT 1.0 и частично — XPath 1.0. Он не поддерживает XSD (SQLXML добавляет поддержку XSDсхем, о чем пойдет речь далее).
Новые конечные точки HTTP создают Web-службы SQL Server 2005. Часть 1
Питер Дибетта (Peter DeBetta)
SQL Server 2000 предлагает некоторые возможности возвращать выходные данные XML через HTTP с помощью SQLXML — и, разумеется, SQLXML поддерживает создание Webслужб. Хотя это и не ракетостроение, установка, настройка и применение Webслужб в SQL Server 2000 требуют некоторых усилий.
Когда появилась среда .NET, программисты стали писать Webслужбы на C# и VB.NET. Они просто соединялись с SQL Server (или любым другим источником данных) для получения информации. Среда .NET сделала создание Webслужб проще простого:
1. Создайте какиенибудь хранимые процедуры.
2. Напишите Webметоды для возврата данных из этих хранимых процедур.
3. Готово! У вас есть Webслужба.
Но сейчас мир наводнили Webслужбы нового поколения. SQL Server 2005 имеет встроенную поддержку HTTP SOAP через функциональные возможности, известные как конечные точки HTTP. Протокол Simple Object Access Protocol (называемый SOAP) является облегченным протоколом обмена сообщениями, который сетевая энциклопедия Webopedia определяет так: «Краткое обозначение для протокола Simple Object Access Protocol, облегченного протокола обмена сообщениями на базе XML, используемого для кодирования запросов и ответных сообщений в Webслужбах перед отправкой через сеть. Сообщения SOAP не зависят ни от какой операционной системы и могут транспортироваться с помощью множества протоколов Интернета, включая SMTP, MIME и HTTP».
Именно эти новые функциональные возможности конечных точек HTTP в SQL Server 2005 и являются предметом данной статьи.
Обертка для Data Adapter Configuration Wizard
Эл Корвин (Al Corwin)
В этой статье показано, как создать многократно используемый классобертку, необходимый для использования набора хранимых процедур, созданных средствами мастера конфигурации адаптера данных Visual Studio .NET. Если вы не знакомы с мастером конфигурации адаптера данных VS.NET, прочитайте статью Эла, которая входит в файл, сопровождающий журнал.
Для получения информации из баз данных SQL Server с помощью Visual Studio .NET необходимы три объекта: 1) объект команды SqlCommand, который будет выполнять хранимую процедуру или инструкцию TSQL; 2) объект соединения SqlConnection, которым смогут воспользоваться объекты команды; 3) объект DataTableMapping, который будет сопоставлять имена столбцов из запроса именам столбцов набора данных.
Объект команды может исполнять любой код TSQL, соответствующий полномочиям имени входа, создавшего соединение. Это значит, что объект DataTableMapping не понадобится, если только запрос не должен возвращать коллекцию записей.
Если вы применяли мастер конфигурации адаптера данных Visual Studio .NET для создания стандартных хранимых процедур, то знаете, что он генерирует все объекты, которые потребуются его хранимым процедурам: объект соединения, объект DataTableMapping и четыре объекта команд.