Инструменты управления SQL Server 2005: Никаких тайн

ПУБЛИКАЦИИ  

По материалам интервью с Euan Garden Management Tools: No Secrets
Перевод Александра Гладченко

При проектировании новых и доработке существующих инструментов управления SQL Server 2005 (кодовое имя Yukon), группа разработчиков инструментария SQL Server старалась соблюдать два основных принципа: "никаких тайн" и Интеграция. Euan Garden является менеджером команды, разрабатывающей инструментарий SQL Server 2005. В интервью журналу SQL Server Magazine он рассказывает, как его команда внедряла эти принципы в функции управления базой данных, что должно сделать их более прозрачными, устойчивыми и легкими в применении.

Что наиболее примечательного появится в инструментарии SQL Server 2005?

В SQL Server 2005 мы вводим несколько новых и разноплановых инструментов, которые будут поддерживать также и SQL Server 2000. Целью Microsoft является поддержка и расширение функций управления базой данных, чтобы сделать их более устойчивыми и более легкими в применении.
SQL Server Management Studio, на первых порах называемый SQL Server Workbench, является наверное самым заметным из новых инструментов SQL Server 2005. Management Studio объединяет функциональные возможности Enterprise Manager, Query Analyzer и Analysis Manager в одном инструменте. Кроме того, с его помощью интегрируется управление Reporting Services, Notification Services, XML, SQL Server 2005 Mobile Edition (кодовое имя Laguna) и разными версиями SQL Server, причём, всё это делается в рамках одного интерфейса, что должно повысить производительность работы DBA, предоставить ему большую гибкость и управляемость в администрировании различных компонент.
Помимо интегрирования всевозможных функций и технологий, которые были уже перечислены, мы попытались реализовать возможность исполнения запросов разных типов из интегрированной среды Management Studio. Разработчики прислали нам много пожеланий по развитию возможностей Enterprise Manager, являющегося сегодня основным инструментом большинства администраторов, реализация которых поможет сделать его более эффективным. В Enterprise Manager работа строится на взаимодействии пользователя с диалоговым интерфейсом, который частенько блокирует возможность пользователя использовать параллельно другие диалоги. Это мешает одновременному исполнению нескольких задач, особенно когда Enterprise Manager исполняет длительную операцию, например, резервное копирование или восстановление. Кроме того, многие пользователи запускают вместе с Enterprise Manager программу SQL Server Profiler, чтобы знать какие инструкции Enterprise Manager отсылает на сервер, и иметь возможность исполнять их позже одним пакетом. Для решения этой задачи, мы ввели новый тип диалоговых окон, которые теперь изменяемого размера и не блокируют возможность одновременного доступа пользователя к другим функциям. Кроме того, эти окна позволяют скриптовать присущие им функции, и намечать их исполнение по расписанию. Разработчики надеются, что всё это сделает пользовательский интерфейс более прозрачным. Также, мы упростили вызовы, которые запрашивают информацию у SQL сервера и заменили окно Current Activity новым инструментом Activity Monitor, который работает более эффективно, автоматически обновляется и поддерживает сортировку с фильтрацией.
Другим новым инструментом является Database Tuning Advisor (DTA) который заменил появившуюся ещё в SQL Server 7.0 утилиту Index Tuning Wizard (ITW). DTA расширяет возможности тюнинга сервера баз данных, он лучше масштабируется и развивает заложенные в ITW концепций. Для повышения производительности, пользовательский интерфейс DTA был отделён от службы тюнинга. Теперь, администраторы баз данных могут прервать сеанс тюнинга и закрыть окно DTA, что бы вернуться к нему позже или создать несколько других сеансов тюнинга разных серверов баз данных. В DTA теперь появилась возможность получать рекомендации по стратегии секционирования данных.
Оснастка SQL Computer Manager также является новым инструментом настройки сервера. Она выполнена в виде плагина Computer Manager, который в дереве объектов MMC можно найти в узле служб и приложений. SQL Computer Manager позволяет отдельно настраивать экземпляры серверов: SQL Server, Analysis Server и Reporting Server. В качестве примера полезности отдельной настройки можно рассмотреть назначение учётных записей, от имени которых запускаются сервисы (изменение паролей которых больше не требует перезагрузки) и создание или изменение псевдонимов серверов баз данных. Эти же задачи можно выполнить с помощью нескольких прикладных интерфейсов управления, которые обеспечивают хорошую прозрачность и управляемость.
Кроме того, мы получили много предложений о том, как расширить возможности SQL Server 2000 SQLMail. Изучая пожелания пользователей, мы поняли, что правильно будет не развивать далее архитектуру SQLMail, а вместо этого использовать сильные стороны новых технологий управляемого кода и SQL Server Service Broker, на основе которых для SQL Server 2005 был разработан SQLiMail. Выяснилось, что наши клиенты хотели следующее: отсутствие обязательного требования по установке на серверах Microsoft Outlook, добавление поддержки протокола SMTP и упрощение процедур настройки почтовых решений. SQLMail все еще будет оставаться в SQL Server 2005, но SQLiMail заменит большинство его функций. Работа этой службы сильно отличается от SQLMail, потому что она не зависит от Messaging API (MAPI) или Outlook, и она может работать на 64-бит платформе. Кроме того, SQLiMail сможет работать не только с Microsoft Exchange, но и с другими SMTP серверами. SQLiMail фактически является компонентом Service Broker и использует внешний .exe файл для рассылки почты вне серверного процесса.
Последней новинкой среди компонент, на которые хотелось бы обратить внимание, является новая утилита командной строки SQLCMD, призванная заменить osql и частично isql. Пытаясь понять, как можно помочь администраторам баз данных облегчить работу в командной строке, мы опросили и наблюдали работу большого числа таких специалистов с osql, пакетными файлами и скриптами. Эти исследования позволяют надеяться, что SQLCMD будет не только простым в использовании, но и весьма эффективным инструментом, который понравится администраторам.

Какое развитие получили существующие инструменты?

Profiler теперь поддерживает трассировку и нагрузку Analysis Services, трассировку Data Transformation Services (DTS), а также обеспечивает корреляцию со счётчиками Performance Monitor, визуализацию тупиковых блокировок, извлечение планов исполнения и многое другое. SQL Agent был переработан с целью повышения его производительности и безопасности, и добавления поддержки основанных на Windows Management Interface (WMI) оповещений, а также новых подсистем DTS и Analysis Services.

Существую ли новые принципы, которые внедрены в инструменты управления для того, что бы сделать их лучше?

Для инструментария SQL Server 2005 наши основные принципы: "никаких тайн" и Интеграция. Отсутствие тайн не означает, что всё исполняемое в пользовательском интерфейсе должно быть доступно для пользователей и вендоров через API, но и то, что администратор должен иметь возможность легко всё это воспроизвести. В целях развития интеграции, мы объединили в SQL Server Management Studio возможности управления тремя разными компонентами: SQL Server, Analysis Services и Reporting Services, а также некоторыми другими компонентами. Кроме того, SQL Computer Manager, Profiler и Replay могут больше чем их аналоги сегодняшнего SQL Server.

Администраторы и разработчики SQL Server смогут использовать привычные Enterprise Manager и Query Analyze, пока будут привыкать к новым инструментам SQL Server 2005? Что делает Microsoft для поддержки обратной совместимости инструментария?

Разработчики ставили перед собой задачу максимально упростить переход на новую версию. Поэтому, если SQL Server 2005 устанавливается вместе с SQL Server 2000, установленные с последним версии Enterprise Manager и Query Analyzer смогут по-прежнему работать с SQL Server 2000 и 7.0. Однако, если SQL Server 2005 заменяет предыдущую версию, будут заменены и инструмент. Management Studio сможет работать не только с SQL Server 2005, впрочем, Profiler и остальные инструменты тоже смогут работать с предыдущей версией.

Сможет ли SQL Server 2005 или последующие версии с помощью каких - либо инструментов выполнять нагрузочное тестирование?

Инструменты, которые используются для решения подобных задачи, это DTS или SQLCMD для загрузки данных, и Replay для нагрузочного тестирования (именно он используется разработчиками для внутренних целей). Новые возможности утилиты SQLCMD делают её мощным инструментом для работы в пакетном режиме, в том числе и для загрузки данных. С помощью Replay можно повторно запускать трассировку запросов от прикладных приложений, построенных на управляемом коде, поскольку движок Replay имеет ряд прикладных интерфейсов, которые позволяют исполнять те же самые действия без необходимости открывать для этого окна пользовательского интерфейса.

Будет ли возможно с помощью инструментария SQL Server 2005 диагностировать проблемы использования ресурсов, например, чрезмерную утилизацию I/O, CPU и памяти, а также находить виновника этих проблем? В настоящее время, чтобы изолировать подобные проблемы, администраторы вынуждены использовать недокументированные возможности DBCC SQLPERF с WAITSTATS, IOSTATS и возможно UMSSTATS. Что Microsoft делает для облегчения и повышения эффективности такого анализа и связанных с этим настроек?

Независимо от того, кто или что вызывает проблемы утилизации ресурсов, первым шагом в разрешении этих проблем является проверка доступности данных. В следующей версии SQL Server, мы уделили большое внимание обеспечению возможности получения подробной информации о состоянии сервера. Для реляционного ядра такие данные поможет получать новая технология, называемая Dynamic Management Views. Эти представления создают снимки внутренней структуры и состояний, которые могут быть потом получены по запросу и сохранены для последующего сравнения. Для анализа этой информации предлагаются несколько отчётов и, кроме того, мы сейчас работаем с поставщиками инструментальных средств, чтобы помочь им использовать эту информацию с максимальной пользой. Возможность анализа подобной информации сделает сервер намного прозрачнее и поможет в диагностике многих проблем, которые прозвучали в вопросе.

Microsoft планирует поставлять приложение SQL Server "health", которое можно будет использовать для тюнинга, получая от него оценки и предложения по изменению настроек конфигурации?

Сегодня, для этого можно использовать SQL Server 2000 Best Practices Analyzer (BPA), позволяющий оценить систему и определить её оптимальность. BPA пока ещё находится в стадии бета - тестирования, но мы уже получаем положительные отклики о его возможностях для повышения производительности систем наших клиентов. Кроме того, мы работаем совместно с командой Microsoft Operations Manager (MOM), и в прошлом году появился релиз SQL Server Management Pack, который является частью MOM. В MOM 2005 функциональность существенно расширена, включая специальные изменения, которые мы запланировали для поддержки SQL Server. Например, можно будет выполнять диагностические запросы прямо из MOM Operations Console.
Ключевым изменением в следующей версии MOM для людей, профессионально связанных с SQL Server, будет то, что в нём по умолчанию закладывается меньшее число правил для SQL Server. Это, казалось бы, странное решение, но минутку терпения… Как известно, в операционной системе проблемы сортируются по приоритетам. Из-за этого при отправке предупреждения оно действительно будет отражать критичную проблему. В MOM считается, что такой подход позволяет быть уверенным, что когда отсылается предупреждение, это действительно необходимо и критично для системы. Также, мы разработали и добавили к системным задачам ряд специализированных задач для SQL Server.

Что делается в SQL Server 2005 для облегчения администрирования множества серверов? И сколько серверов реально для одного DBA обслуживать при решении простых задач администрирования?

В SQL Server 2005 имеется пять ключевых инструментов для управления большим числом серверов. Некоторые из этих инструментов существовали и в SQL Server 2000, но их возможности были расширены; в SQL Server 2005 добавлены и новые инструменты:

  • SQL Agent (master и target server - MSX/TSX) - с помощью мультисерверного администрирования можно задания созданные на одном сервере выполнять на любом количестве других серверов.
  • В SQLCMD мы добавили возможность подключения к множеству серверов через один скрипт.
  • Планы обслуживания теперь работают по новой технологии, которая упрощает создание сложных планов за счёт внедрения технологий моделирования технологических процессов. Мы доработали развитые средства управления в DTS, и оснастили ими механизм исполнения планов обслуживания. Теперь, для решения задач обслуживания, создаются DTS пакеты, которые потом можно редактировать и исполнять. Эти пакеты скриптуются в T-SQL, что делает из работу прозрачной для понимания заложенного в них алгоритма плана обслуживания.
  • Создание скриптов по диалоговым, интерфейсным окнам, это новый элемент пользовательского интерфейса Management Studio, который позволяет использовать этот интерфейс для написания T-SQL кода. После скриптования интерфейсных функций, можно использовать SQL Agent для исполнения по расписанию созданных T-SQL скриптов.
  • MOM, как уже говорилось ранее, позволяет выполнять диагностические запросы и исполнять большее число специализированных для SQL Server задач.

Нам известны администраторы баз данных, которые управляют более чем 250 серверами, используя для этого MSX/TSX, и наша цель состоит в том, чтобы улучшить эти возможности в SQL Server 2005.

Расскажите о концепции авторства и управления, а также об её особенностях у разных инструментов? Некоторые рекламные документы о новом инструментарии использовали эти термины.

Авторство - это написание кода. Точно так же, как это интервью написано по-английски, скрипты могут быть написаны на разных языках, включая T-SQL, MDX, XML для аналитики (XML/A), XML, XQuery и так далее. Мы хотим построить развитую, интуитивно понятную, интегрированную среду для создания кода (авторства), которая будет оснащена основными функциональными возможностями таких задач, как управление версиями, динамическая подсказка, проекты, шаблоны и других, подобных задач, присущих разнообразным языкам программирования. И наоборот, управление охватывает основные задачи, которые присущи администраторам баз данных, такие как резервное копирование и восстановление, управление пользователями и так далее.
Эти термины появились из того опыта, который мы получили в процессе исследований ещё до начала работ над SQL Server 2005, и которые позволяют идентифицировать задачи и роли, характерные в администрировании SQL Server. Когда мы сделали анализ задач, связанных с использованием SQL Server, мы выделили те группы задач, которые подпадают под роль DBA, и мы разбили их на шесть специализаций. Сегодня, мы рассматриваем инструментарий в рамках контекста этих шести направлений:

  1. Управление - включает основные задачи, например, резервное копирование, восстановление и обеспечение безопасности.
  2. Авторство - разработка скриптов и написание кода.
  3. Операции - решают задачи масштабирования в управлении; включая SQL Agent, MOM и SQLCMD.
  4. Настройка производительности и оптимизация - включает такие инструменты, как DTA, Profiler и Replay.
  5. Конфигурация - прежде всего, это задачи, решаемые SQL Computer Manager.
  6. Прикладные интерфейсы - предназначены для скриптования выбранных функциональных возможностей инструментария, о которых упоминалось ранее, включая WMI, SMO, а также новые объекты трассировки и нагрузки.

В маленькой организации иметь все эти навыки и исполнять все эти задачи может один человек. Однако, для больших организаций общей тенденцией является разделение этих задач и навыков между несколькими специалистами или даже группами специалистов.

В SQL Server 2005 появилась новая учебная база данных - Adventure Works. Что это даст разработчикам и администраторам SQL Server?

Учебная база данных Adventure Works, над которой мы работали несколько лет, призвана заменить прежние, используемые для этих же целей базы данных Northwind, Pubs и Foodmart. Хотя мы по-прежнему всё ещё продолжаем использовать примеры скриптов для некоторых из этих баз, устанавливаться они не будут. Когда мы анализировали новшества следующей версии SQL Server, например: схемы, партиции, SQL Server Service Broker и тип данных XML - мы поняли, что мы не сможем продемонстрировать эти новые возможности, делая запросы к Northwind и Pubs, т.к. их модели данных для этого не достаточны. Кроме того, нам нужно было продемонстрировать примеры выборок, которые бы показали применимость и интегрированность новых решений в электронной коммерции, финансовых задачах, в производственной сфере, а также в бизнес - решениях (BI). Нам кажется, что новые примеры и Adventure Works смогут существенно расширить возможности демонстрации функциональных решений, как, впрочем, и новые документы Books Online (BOL), Microsoft Developer Network (MSDN), и других подобных ресурсов.

В SQL Server 2005 появился новый тип специального подключение для администратора. Что это за подключение, и для чего оно необходимо?

Представьте себе такую проблему: Вы обнаружили тяжёлый запрос к SQL Server, который полностью утилизирует процессоры и съел всю память. Чтобы выполнить диагностику проблемы и иметь возможность прекратить работу запроса, необходимо подключиться и узнать, что происходит. Но в связи с тем, что CPU и память полностью утилизированы, Вы не сможете подключиться к серверу. В SQL Server 2005 появилась возможность подключать SQLCMD с использованием специального подключения администратора: Dedicated Admin Connection (DAC), потому что мы специально резервируем небольшое количество ресурсов после запуска, что и позволяет поднимать приоритет этому типу подключения. DAC можно будет использовать только для локализации проблем и он не будет доступен для обычных запросов.

Какие преимущества мы можем ожидать от динамической подсказки в SQL Server 2005? И какие другие возможности будут реализованы, чтобы облегчить поиск информации?

Здесь, шагом вперёд является новая справочная система, которую мы используем совместно с Visual Studio. Динамическая подсказка позволяет получать справки непосредственно в окнах редакторов кода, вместо того, чтобы открывать для этого новые окна электронной документации и выполнять в них поиск необходимой информации. Новый механизм поиска сервера справочной системы позволяет также выполнять поиск документов не только в BOL, но и на сайтах интернет - сообществ.

Какими тремя новшествами инструментов управления SQL Server 2005 Вы гордитесь больше всего?

Я горжусь многими из новых возможностей, которые были нами реализованы с учётом пожеланий пользователей. Наши клиенты замечают, что мы существенно усовершенствовали SQL Server 7.0 и 2000, и я уверен, что они будут довольны новшествами в инструментах управления SQL Server 2005. Если нужно высказаться более определённо, я думаю, что больше всего горжусь новыми возможностями SQL Server Management Studio, SQLCMD и SQLiMail. Я убежден, что администраторы полюбят эти инструменты. Однако, если Вы спросите меня об этом в какой-нибудь другой день, когда я занят другими аспектами инструментария, я легко могу назвать Вам других фаворитов.

Является ли SQL Server Management Studio подмножеством инструментов Visual Studio (VS)? Понадобится ли администраторам изучать VS, чтобы быть иметь возможность администрирования SQL Server, и потребуется ли иметь лицензию на VS?

SQL Server Management Studio использует некоторые возможности VS, но он не входит в VS. Администраторам для управления SQL Server не обязательно установить, изучать или приобретать лицензию VS.

Какую роль играет WMI в инструментарии SQL Server 2005, и как SQL Server Management Objects (SMO) связаны с WMI?

Мы добавили надстройку WMI провайдера для SQL-DMO в SQL Server 2000. Что же касается SQL Server 2005, наши клиенты обращали внимание разработчиков на то, что им нравится развитая объектная модель SQL-DMO и её строгий контроль типов, так что мы включили её в состав новых объектных моделей управления для управляемого кода. Эти модели называются Management Objects, и имеют три специализации: SQL Server Management Objects (SMO), Replication Management Objects (RMO) и Analysis Management Objects (AMO).
Мы также добавили нового WMI провайдера для конфигурационных целей, что бы предоставить возможность с помощью него изменять пароли сервисных учётных записей, свойства клиента или другую конфигурационную, не требующую подключения информацию. Однако, мы также реализовали эти функции в SMO, чтобы удовлетворить запросы клиентов, которые хотят использовать только одну объектную модель.

Из каких соображений используется единое окружение - SQL Server Management Studio для запросов всех типов, например, T-SQL и MDX?

Мы организовали единую среду для T-SQL и MDX по нескольким причинам. Во-первых - мы хотим предоставить одинаковую функциональность для авторства. Во-вторых - много наших клиентов одновременно работает с обоими языками. Например, если Вы хотите сформировать информационное хранилище, нужно будет написать T-SQL и MDX (а возможно и XML/A) скрипты. Мы хотим предоставить нашим клиентам для этого единообразный подход.

В SQL Server 2005 планируется улучшение инструментов отладки и управления исходных текстов?

Да, в следующей версии SQL Server появится новый отладчик, ставший результатом нашего сотрудничества с командой разработчиков Visual Studio. Кроме того, задачи авторства получат поддержку за счёт интеграции с системой версионного контроля кода.

[В начало]


Перевод: Александра Гладченко  2004г.

ПУБЛИКАЦИИ

Скачать электронную карту Ангарска бесплатно
Сайт управляется системой uCoz