Сообщений 1    Оценка 0        Оценить  
Система Orphus

Утилиты и средства администрирования баз данных

Глава из книги “Microsoft SQL Server 2005. Новые возможности”

Автор: А. Волоха
Источник: Microsoft SQL Server 2005. Новые возможности
Материал предоставил: Издательство "Питер"
Опубликовано: 02.03.2006
Исправлено: 09.03.2006
Версия текста: 1.0
3.1. Управление базами данных и средства разработки
3.1.1. Утилита SQL Server Configuration Manager
3.1.2. SQL Server Management Studio (SQL SMS)
3.1.3. Окно Solution Explorer SQL SMS
3.1.4. Окно Properties SQL SMS
3.1.5. Окно Registered Servers SQL SMS
3.1.6. Окно Object Explorer SQL SMS
3.1.7. Утилита Business Intelligence Development Studio (BIDS)
3.1.8. Набор инструментов BIDS
3.1.9. Окно Solution Explorer
3.1.10. Окно Properties
3.1.11. Окно Dynamic Help
3.1.12. Контроль над версиями решений в BIDS
3.1.13. Утилита Query Editor
3.1.14. Окно Results Window утилиты Query Editor
3.1.15. Окно Dynamic Help
3.1.16. Контроль над версиями программного кода
3.1.17. Просмотр этапов выполнения запроса
3.1.18. Сравнение SQL SMS и BIDS
3.1.19. Утилита Sqlcmd
3.1.20. Использование файлов сценариев в Sqlcmd
3.2. Новые средства управления
3.2.1. SQL Server Management Objects (SMO)
3.2.2. Использование Windows Management Instrumentation (WMI)
3.2.3. Провайдер WMI
3.2.4. События WMI
3.2.5. Набор объектов Analysis Management Objects (AMO)
3.2.6. Библиотека Replication Management Objects (RMO)
3.3. Средства увеличения производительности
3.3.1. Утилита Profiler
3.3.2. Профили сервисов аналитики
3.3.3. Агрегированные представления
3.3.4. Набор разрешений для трассировки
3.3.5. Извлечение данных согласно их типу
3.3.6. Утилита Create Trace Wizard
3.3.7. Редактор запросов SQL SMS
3.3.8. Утилита Database Tuning Advisor
3.3.9. Управление разделами в Database Tuning Advisor
3.3.10. Приостановка работы в Database Tuning Advisor
3.3.11. Настройка по расписанию
3.3.12. Поддержка методики WHATIF

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

3.1. Управление базами данных и средства разработки

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

3.1.1. Утилита SQL Server Configuration Manager

Одно из основных нововведений SQL Server 2005 — это то, что теперь нет инструмента Server Manager, позволявшего автоматизировать работу администратора. В предыдущих версиях SQL Server данный инструмент устанавливался вместе с сервером. Он позволял просматривать в графическом режиме состояние многих сервисов SQL Server, включая сервис SQL Server, сервис преобразования данных, а также статус агента сервисов. Инструмент Server Manager также использовался для запуска и остановки перечисленных сервисов. Теперь функции Server Manager выполняет другой инструмент — SQL Server Configuration Manager. Данный инструмент представляет собой консоль, к которой можно получить доступ с помощью MMC. Интерфейс SQL Server Configuration Manager приведен на рис. 3.1.


Рис. 3.1. Интерфейс утилиты SQL Server Configuration Manager

Так же как инструмент Server Manager предыдущих версий SQL Server, новый инструмент SQL Server Configuration Manager позволяет настраивать сервисы SQL Server. С помощью SQL Server Configuration Manager можно управлять работой следующих сервисов:

Для того чтобы начать работу с определенным сервисом (который был установлен в системе), необходимо в левой части SQL Server Configuration Manager выбрать дерево соответствующего сервиса. В это время в правой части SQL Server Configuration Manager будет отображена информация о выбранном сервисе, включая текущий статус сервиса и расписание запуска. Управление сервисами SQL Server ничем не отличается от подобных действий с другими сервисами, запущенными на компьютере. Вы можете выполнить с выбранным сервисом следующие действия:

Для этого выберите одну из команд в контекстном меню, которое появляется при щелчке правой кнопкой мыши на выбранном сервисе.

3.1.2. SQL Server Management Studio (SQL SMS)

Server Manager — это не единственный инструмент, который подвергся коренным изменениям в SQL Server 2005. Инструмент SQL Server Enterprise Manager, который являлся, пожалуй, основным инструментом администратора сервера SQL версий 7.0 и 2000, теперь заменен на SQL Server Management Studio (SQL SMS). Новый инструмент в SQL Server 2005 выполняет не только функции SQL Server Enterprise Manager — он также выступает в роли анализатора запросов, взяв на себя функции Query Analyzer, ранее активно использовавшегося в SQL Server версий 7.0 и 2000. Помимо SQL Server Management Studio в SQL Server 2005 имеется дополнительный набор инструментов, позволяющих автоматизировать работу администратора баз данных. Среди них стоит выделить Profiler, Database Tuning Advisor и Administrative Console. Стоит заметить, что SQL Server Management Studio радикально отличается от своего предшественника. Теперь этот инструмент включает в себя большую часть функциональности, которая была присуща SQL Server Enterprise Manager и Query Analyzer, при этом развивая ее в соответствии с возросшими потребностями администраторов SQL Server 2005. SQL Server Management Studio устанавливается вместе с SQL Server 2005. Для того чтобы запустить данное приложение, выберите в меню Start - Programs - Microsoft SQL Server - SQL Server Management Studio. В результате этого будет открыто основное окно SQL Server Management Studio (рис. 3.2).

Стоит заметить, что специалисты Microsoft позаботились об обратной совместимости средств создания запросов и управления SQL Server. Поэтому утилита SQL Server Management Studio может быть также использована с SQL Server версий 7.0 и 2000. Однако данный инструмент не может использоваться с SQL Server 6.5 или более ранними программными продуктами этой линейки. Совместимость была бы неполной, если бы нельзя было использовать SQL Server Enterprise Manager для управления и настройки работы SQL Server 2005. Подобная совместимость также существует. SQL Server Enterprise Manager версий 7.0 и 2000 также может использоваться для настройки работы SQL Server 2005. Однако из-за значительных архитектурных различий между данными версиями программных продуктов специалисты Microsoft не рекомендуют использовать SQL Server Enterprise Manager для настройки и управления работой SQL Server 2005. При этом использование SQL Server Enterprise Manager не позволит задействовать все новые преимущества SQL Server 2005, которые появились в последних версиях этого программного продукта. Помимо этого вы не сможете просматривать ряд системных таблиц, а просмотр некоторых из них вообще будет приводить к возникновению ошибок в системе. Именно поэтому специалисты Microsoft рекомендуют использовать SQL Server Management Studio для управления системами, в которых присутствуют SQL Server различных версий (например, 2000 и 2005), поскольку в этом случае достигается однородность утилит управления SQL Server, а также возможно использовать все преимущества, которые предоставляет новая версия этого программного продукта.


Рис. 3.2. Интерфейс SQL Server Management Studio

Инструмент SQL Server Management Studio стал еще более близок к среде разработки Visual Studio. Этот программный продукт построен на основе специализированной версии Visual Studio 2005 IDE (Interactive Development Environment). Так же как и его старший брат, SQL Server Management Studio поддерживает создание программных проектов, их отладку и инсталляцию. За счет интеграции с Visual Studio 2005 вы можете использовать этот продукт для создания программного кода на различных языках программирования, входящих в состав .NET Framework. Интеграция с инструментом Visual SourceSafe позволит добиться полного контроля над версиями программных продуктов. Несмотря на интеграцию с Visual Studio 2005, в SQL Server Management Studio вы не сможете компилировать приложения, содержащие вставки кода на языках C#, J# или VB.NET. Вам необходимо использовать для этих целей Visual Studio 2005. SQL Server Management Studio позволяет создавать приложения с использованием технологий MX, MDX, T-SQL и XMLA.

Инструмент SQL Server Management Studio имеет ряд преимуществ по сравнению с комбинацией инструментов SQL Server Enterprise Manager и Query Analyzer. Они заключаются в следующем:

  1. В SQL Server Management Studio по сравнению с SQL Server Enterprise Manager увеличено количество объектов, с которыми может работать этот инструмент. В предыдущих версиях количество объектов всегда подсчитывалось. Для многих приложений, которые создавались для работы на малых и средних предприятиях, это не являлось проблемой. Однако в отношении больших баз данных с огромным числом объектов данное ограничение не только раздражало, но и препятствовало созданию многих достаточно сложных приложений, которые оперировали большим числом объектов баз данных. SQL Server Enterprise Manager ранее мог достаточно долго выполнять считывание объектов и их свойств в базе данных. В этом отношении SQL Server Management Studio работает значительно быстрее за счет того, что во время считывания он не выводит полную информацию об объектах, а делает это только тогда, когда пользователь постарается развернуть список сгруппированных объектов. После этого выполняется дополнительное считывание из базы данных и данные выводятся на экран с помощью обозревателя объектов. Это позволяет увеличить скорость считывания объектов и их свойств.
  2. Диалоговые окна, которые отображаются в SQL Server Management Studio, не являются модальными. Это позволяет реализовать большую свободу для разработчика, поскольку от него не требуется обязательно завершить диалог, нажав какую-либо клавишу, перед тем как продолжить работу. Практически все диалоговые окна, которые существовали в SQL Server Enterprise Manager, были модальными, что часто раздражало и мешало плодотворной работе. Теперь использование немодальных окон позволяет администратору баз данных продолжать свою работу даже тогда, когда одно из диалоговых окон остается открытым.
  3. Утилита SQL Server Management Studio выступает в качестве основного инструмента для управления SQL Server 2005, а также для многих других утилит этого программного продукта. Для полноценной работы в SQL Server Management Studio используется набор окон, позволяющих автоматизировать работу приложения:

Более детально другие инструменты и окна SQL Server Management Studio мы рассмотрим в разделах 3.1.3 “Окно Solution Explorer SQL SMS ” — 3.1.6 “Окно Object Explorer SQL SMS”.

3.1.3. Окно Solution Explorer SQL SMS

Окно Solution Explorer — это основное окно для работы с отдельными компонентами создаваемого приложения. Оно по умолчанию отображается в правом верхнем углу SQL Server Management Studio (рис. 3.3). В окне Solution Explorer отображается в виде древоподобной структуры набор используемых объектов, соединений и запросов к базе данных. Все это составляет проект, над которым ведется работа. Корневой элемент дерева носит название решения. По умолчанию ему присваивается значение Solution 1, однако разработчик может изменить это имя на любое другое, используя окно свойств решения.


Рис. 3.3. Окна SQL Server Management Studio

Далее в виде ветвей дерева отображаются текущие проекты. Решение может включать в свой состав один или несколько проектов. При этом объекты, выступающие в качестве листьев дерева, могут быть связаны с одним из проектов или напрямую с решением. Листья обычно представляют собой файлы, которые могут содержать информацию не только об определенном объекте, но и о целом классе подобных объектов. Эти классы могут создаваться разработчиками на одном из следующих языков запросов: Analysis Server, XMLA или T-SQL.

Утилита SQL Server Management Studio поддерживает несколько различных типов проектов:

Для создания нового проекта воспользуйтесь окном Add New Project (рис. 3.4).


Рис. 3.4. Создание нового проекта в SQL Server Management Studio

3.1.4. Окно Properties SQL SMS

Окно Properties располагается в правом нижнем углу SQL Server Management Studio (см. рис. 3.3) и позволяет настраивать и просматривать свойства объекта, выбранного в окне Solution Explorer. Данное окно помимо просмотра значений свойств выбранного объекта позволяет решать целый ряд разнородных задач. Во-первых, с его помощью вы можете устанавливать наименование решения, проекта или отдельного объекта. Во-вторых, с помощью окна Properties можно контролировать выполнение DTS-пакетов. Наконец, основная задача, для решения которой используется окно Properties, — это быстрое изменение свойств для нескольких объектов одновременно. Для того чтобы сделать это, выполните следующие действия:

  1. 1. В окне Solution Explorer выделите объекты, для которых одновременно необходимо изменить значение выбранного свойства. Для этого можно воспользоваться клавишами Shift или Ctrl.
  2. 2. Измените выбранное свойство в окне Properties. После этого значение свойства будет изменено для всех выделенных объектов.

3.1.5. Окно Registered Servers SQL SMS

В системе, в которой ведется разработка приложений, может использоваться несколько зарегистрированных серверов. Для разработки приложений и настройки нескольких серверов может использоваться одна утилита SQL Server Management Studio. Для того чтобы автоматизировать разработку и дать разработчику возможность выбирать сервер, для которого выполняются разработки приложений, используется окно Registered Servers. Это окно содержит список зарегистрированных серверов SQL и позволяет выполнять логическую группировку нескольких серверов для упрощения процесса взаимодействия с группой северов.

Перед тем как начать работу с выбранным сервером, необходимо его зарегистрировать в окне Registered Servers. Для этого щелкните правой кнопкой мыши на выбранном сервере в окне Registered Servers и выберите в контекстном меню команду New - Server Registration. После этого сервер будет зарегистрирован и доступен для использования. Разработчиками часто используется логическая группировка серверов. Для того чтобы создать логическую группу серверов, выполните следующие действия:

  1. 1. Щелкните правой кнопкой мыши в окне Registered Servers и выберите в контекстном меню команду New - Server Group. Результатом этого будет создание новой группы.
  2. 2. Введите имя группы и переместите в данную группу необходимые серверы, используя указатель мыши.

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

До регистрации сервера в системе вы не сможете управлять его сервисами. После выполнения регистрации все сервисы сервера становятся доступны для управления. Вы можете запускать, останавливать, приостанавливать и отключать выполнение сервиса. Также после выполнения процедуры регистрации можно работать с объектами выбранного сервера. Для этого достаточно дважды щелкнуть на выбранном сервере. После этого будет выполнено соединение с сервером, и список доступных объектов отобразится в окне Object Explorer.

3.1.6. Окно Object Explorer SQL SMS

Окно Object Explorer утилиты SQL Server Management Studio позволяет реализовать такой же набор действий, что и утилита SQL Server Enterprise Manager в предыдущих версиях SQL Server. Данное окно отображается в левой нижней части окна утилиты SQL Server Management Studio (см. рис. 3.3) и позволяет выполнять запуск и остановку сервера, создание баз данных, их соединение и отключение, а также настройку свойств сервера, создание объектов баз данных (таких, как представления, хранимые процедуры и таблицы), генерацию сценариев T-SQL, управление правами доступа к объектам, мониторинг работы сервера, просмотр системных журналов, настройку механизма репликации и многое другое.

Для того чтобы начать работу с объектами, которые отображаются в окне Object Explorer, щелкните на выбранном объекте правой кнопкой мыши и выберите в контекстном меню требуемый пункт. В контекстном меню отображается уникальный набор свойств для каждого объекта. Также контекстное меню позволяет выполнить одно из следующих действий с объектом:

Состав контекстного меню и, соответственно, набор доступных действий зависит от типа выбранного объекта.

Пожалуй, самым главным преимуществом окна Object Explorer является возможность генерировать сценарии создания отображаемых в нем объектов. Это упрощает и ускоряет процесс создания приложений. Для автоматизации этой операции предусмотрено использование мастера сценариев (утилита Script Wizard). Это средство автоматизации позволяет создавать резервную копию базы данных, создавать тестовую базу данных или необходимый объект. Используя утилиту Script Wizard для нескольких объектов, можно разработать либо отдельный сценарий для создания каждого объекта, либо общий сценарий для создания нескольких объектов одновременно. При этом результирующий сценарий может быть выведен в отдельный файл, в буфер обмена или в редактор запросов SQL Server Management Studio.

3.1.7. Утилита Business Intelligence Development Studio (BIDS)

Утилита Business Intelligence Development Studio (BIDS) используется для создания приложений аналитики. Интерфейс этого приложения очень похож на приложение SQL Server Management Studio, однако имеет ряд отличий. Например, SQL Server Management Studio может использоваться не только для разработки приложений, но и для решения административных задач, в то время как Business Intelligence Development Studio может использоваться для создания приложений аналитической обработки данных и решения других задач. Инструмент Business Intelligence Development Studio используется для создания приложений, которые в дальнейшем будут взаимодействовать с сервисами аналитики SQL Server 2005. C помощью этой утилиты разработчики могут создавать проекты, создавать и разворачивать отчеты для сервисов отчетов, разрабатывать пакеты для сервисов преобразования данных, а также выполнять другие действия.

BIDS устанавливается вместе с SQL Server 2005 и доступна из меню. Для ее запуска выберите команду меню Start - Programs - Microsoft SQL Server - Business Intelligence Development Studio. В результате этого откроется окно, показанное на рис. 3.5.


Рис. 3.5. Интерфейс Business Intelligence Development Studio

SQL Server Management Studio и Business Intelligence Development Studio имеют много общего. Во-первых, оба приложения созданы на основе Visual Studio 2005 IDE. Это позволяет использовать всю мощь среды разработки приложений Visual Studio 2005. Во-вторых, каждый проект в обеих утилитах представляет собой набор файлов, которыми может манипулировать разработчик. В обоих случаях проект представляет собой логически сгруппированный набор файлов. В-третьих, оба приложения не могут использоваться для компиляции кода языков программирования .NET Framework (таких, как J#, C# и VB.NET). Точно так же, как и SQL Server Management Studio, утилита BIDS имеет ряд средств для интеграции с Visual SourceSafe, что позволяет реализовать ряд преимуществ управления различными версиями файлов и проектов.

Отличие между этими двумя приложениями состоит в том, что SQL Server Management Studio автоматически устанавливает соединение во время разработки приложения или его запуска. Что касается BIDS, то режим, используемый по умолчанию для этого приложения, — это отключение от базы. Разработчику необходимо в ручном режиме установить соединение с выбранной базой данных.

3.1.8. Набор инструментов BIDS

Большая часть окон в Business Intelligence Development Studio выполняет те же функции, что и аналогичные окна в SQL Server Management Studio. Это относится к окнам Solution Explorer, Properties и многим другим. Панель инструментов BIDS отображается в верхней части окна (см. рис. 3.5) и содержит набор компонентов, которые можно использовать при создании приложения.

3.1.9. Окно Solution Explorer

Утилита Business Intelligence Development Studio имеет свое собственное окно Solution Explorer, которое выполняет функции, аналогичные функциям своего собрата в SQL Server Development Studio. Расположение данного окна аналогично его положению в окне SQL Server Development Studio: оно находится в правом верхнем углу (см. рис. 3.5). Окно Solution Explorer содержит иерархическую структуру файлов проекта. Корень дерева представляет собой наименование решения, далее идут проекты и заканчивается структура отдельными файлами, которые принадлежат либо отдельным проектам, либо всему решению. С помощью Business Intelligence Development Studio можно создавать проекты следующих типов:

Помимо перечисленных проектов разработчик также может загрузить любой шаблон проекта с сайта Microsoft.

Точно так же, как и в SQL Server Development Studio, в BIDS можно создавать решения, которые будут содержать несколько проектов. Разработчик не ограничен рамками одного проекта. Во время создания проекта перед вами откроется окно New Project (рис. 3.6), в котором вы сможете выбрать один из перечисленных типов проектов.


Рис. 3.6. Создание нового проекта в Business Intelligence Development Studio

Рассмотрим более детально каждый тип проекта, который можно создать в BIDS.

3.1.10. Окно Properties

Окно Properties отображается в правом нижнем углу окна Business Intelligence Development Studio (см. рис. 3.5) и выполняет те же функции, что и соответствующее окно в SQL Server Development Studio. Здесь вы можете просмотреть и настроить свойства объектов, которые выбраны в окне Solution Explorer.

3.1.11. Окно Dynamic Help

Окно динамической справки используется для контекстной подсказки. Его содержимое изменяется в зависимости от текущего положения курсора или указателя мыши и помогает пользователю освоиться с новым приложением.

3.1.12. Контроль над версиями решений в BIDS

Утилита Business Intelligence Development Studio также интегрирована с Visual SourceSafe, что позволяет упростить и ускорить процесс создания приложений командами разработчиков. Теперь все проекты, создаваемые с помощью Business Intelligence Development Studio, могут быть сохранены в едином хранилище, для них может выполняться контроль и отслеживание версий. Во время работы с отдельным файлом или проектом разработчики могут выписывать файлы, тем самым сообщая другим разработчикам о том, что с данными файлами выполняются работы. Запись ранее выписанного файла в хранилище может выполняться как под той версией, под которой он был ранее выписан, так и под новой версией. При этом может быть присвоен либо новый номер версии (что будет свидетельствовать о серьезных изменениях в коде), либо новый номер подверсии (что свидетельствует о незначительных изменениях). Для того чтобы добавить решения, проекты или отдельные файлы в систему контроля версий, выберите в меню BIDS команду File - Source Control.

3.1.13. Утилита Query Editor

Утилита Query Editor создана для того, чтобы заменить активно использовавшийся ранее инструмент Query Analyzer. Она позволяет создавать и запускать сценарии T-SQL. Окно Query Editor отображается в верхней части окна SQL Server Management Studio (см. рис. 3.3). Для запуска редактора запросов можно либо нажать в панели инструментов SQL Server Management Studio кнопку New Query, либо выбрать в меню пункт File - New - SQL Server Query - SQL Server Query.

Помимо создания сценариев на T-SQL, редактор запросов можно использовать также для создания сценариев на основе технологий SQL Mobile Queries, DMX, MDX и XMLA.

Преимуществом редактора запросов является то, что он, в отличие от Query Analyzer, может работать как при открытом соединении, так и без него. По умолчанию редактор запросов не подключен к серверу, однако как только разработчик начинает создание нового запроса, Query Editor самостоятельно определяет параметры зарегистрированного сервера и устанавливает с ним соединение. Еще одним преимуществом редактора запросов является то, что он поддерживает возможность автоматического выделения цветом содержащегося в окне кода. Это позволяет выделить в коде примечания, ошибки и фрагменты кода, что значительно упрощает работу программиста. Более того, Query Editor, в отличие от своего предшественника, поддерживает понятие проекта, в котором файлы сгруппированы по логическому принципу. Помимо этого в редакторе запросов поддерживается возможность использовать Visual SourceSafe для контроля над версиями создаваемых проектов и отдельных файлов со сценариями. Это позволяет отслеживать изменения в отдельных версиях файлов, а также сохранять сценарии T-SQL в виде отдельных файлов, чтобы обеспечить возможность дальнейшего переноса. Перед тем как разработчик начинает изменять отдельный файл проекта, ему необходимо сначала выписать его из хранилища Visual SourceSafe. Благодаря этому другие разработчики смогут узнать, что с данным файлом выполняется работа, и файл будет защищен от перезаписи различными копиями. Использование специального программного обеспечения для контроля версий позволяет реализовать возможность хранения исходных кодов программ, проектов и отдельных сценариев, ассоциированных с выбранной схемой базы данных. Это позволяет однозначно идентифицировать автора изменений или отдельных фрагментов кода, а также ограничить применение программного обеспечения для модификации кода.

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

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

Резюмируя вышесказанное, стоит заметить, что редактор запросов, по сравнению со своим младшим братом, представляет собой более удобное средство для создания программного кода, его сохранения и контроля версий. Теперь создавать сценарии и проекты с помощью Query Editor намного проще, поскольку добавились такие преимущества, как выделение цветом, план выполнения проекта, а также выделение фрагмента выполняющегося кода.

3.1.14. Окно Results Window утилиты Query Editor

Создание сценариев с помощью редактора запросов подразумевает частые запросы к базе данных и их обработку. Результатами обработки подобных запросов является вывод данных на экран компьютера. Все результаты выполнения запросов отображаются в окне Results Window. Это окно находится в нижнем правом углу SQL Server Management Studio (см. рис. 3.3). Отображение результатов может выполняться как в текстовом формате, так и в виде таблицы. Это упрощает работу с результатами и их отображение на экране.

3.1.15. Окно Dynamic Help

Окно динамической подсказки позволяет просматривать справочные сведения об элементе, на который установлен курсор или указатель мыши. Это усовершенствование перешло в SQL Server Management Studio из Visual Studio 2005 IDE.

3.1.16. Контроль над версиями программного кода

Интегрированная в SQL Server Management Studio система контроля и хранения версий позволяет реализовать много механизмов контроля над версиями создаваемых приложений. Система контроля ориентирована в первую очередь на команды разработчиков. Эффективность ее использования достигается при работе над большими проектами. Для того чтобы начать использовать данную интегрированную систему, необходимо сначала установить приложение Visual SourceSafe, которое входит в состав Microsoft Visual Studio 2005. В результате станут доступны следующие функции в отношении программного кода:

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

3.1.17. Просмотр этапов выполнения запроса

Для просмотра текущего этапа обработки запроса, вывода ошибок, списка соединений и других целей в SQL Server Management Studio существует окно Current Activity. Для открытия этого окна выберите в окне Object Explorer ветвь дерева Database - Management - Activity Monitor. В результате откроется окно Current Activity, в котором содержится список текущих запущенных процессов. Помимо списка процессов в данном окне содержится следующая информация:

3.1.18. Сравнение SQL SMS и BIDS

Несмотря на то что SQL Server Management Studio и Business Intelligence Development Studio на первый взгляд являются братьями-близнецами, они создавались для решения разных задач. Оба эти приложения создавались на основе Visual Studio 2005 IDE и имеют похожий набор окон и инструментов для работы с проектами различных типов. При этом SQL Server Management Studio используется для разработки приложений, которые будут работать с реляционной базой SQL Server, а Business Intelligence Development Studio позволяет создавать приложения для работы с сервисами аналитики. Однако не стоит заблуждаться, полагая, что первое приложение может активно использоваться для настройки параметров базы данных, а второе — для настройки параметров сервисов аналитики. SQL Server Management Studio позволяет управлять как SQL Server, так и сервисами аналитики, при этом вы легко можете использовать его для создания MDX- и SQL-запросов. Помимо SQL Server и сервисов аналитики SQL Server Management Studio может устанавливать соединение с сервисами отчетов для выполнения их настройки. Также с его помощью можно запускать и останавливать отдельные экземпляры сервисов и серверов, настраивать интерфейс приложений или выполнять сценарии для получения и обработки необходимых данных.

Несмотря на большое сходство с SQL Server Management Studio, Business Intelligence Development Studio не является средством администрирования сервисов SQL Server 2005. Однако это мощное приложение позволяет создавать приложения для аналитической обработки данных, составления отчетов и настройки параметров преобразования данных. С его помощью можно настраивать соединения, создавать запросы в дизайнере запросов, выполнять их, создавать DTS-пакеты, XMLA- и MDX-запросы и другие приложения сервисов аналитики. Также BIDS позволяет создавать графический интерфейс приложения и настраивать его параметры. Для этого используется набор ранее созданных компонентов, которые располагаются на панели инструментов.

3.1.19. Утилита Sqlcmd

Еще один новый компонент SQL Server 2005, используемый для администрирования системы, — это утилита Sqlcmd. Данная утилита заменяет собой утилиты osql и isql, которые использовались администраторами в предыдущих версиях SQL Server. Утилита isql использовала библиотеку SQL Server-DB для установки соединения с SQL Server. Утилита osql, в свою очередь, для установки соединения с SQL Server использовала ODBC. Для обратной совместимости данные утилиты также поддерживаются в SQL Server 2005.

Для запуска утилиты Sqlcmd используется командная строка. Администраторы и разработчики могут выполнять запросы T-SQL, хранимые процедуры и пакеты T-SQL прямо из командной строки. Это упрощает процедуру выполнения простейших запросов и не требует дополнительных программных средств.

Одно из основных преимуществ, которое было реализовано в Sqlcmd, — это возможность выполнять отдельные команды и хранимые процедуры прямо из командной строки, используя набор ключей. Для этого с базой данных устанавливается соединение с помощью технологии Dedicated Administrative Connection (DAC). Если с SQL Server 2005 устанавливается соединение на уровне DAC, то для данного соединения запросы и команды выполняются с большим приоритетом, чем SQL-запросы других соединений. Для того чтобы установить DAC-соединение с помощью Sqlcmd, вам необходимо запустить эту утилиту с ключом –A. Помимо этого ключа утилитой поддерживается целый ряд других ключей, позволяющих автоматизировать выполнение некоторых операций. Например, разработчики могут использовать ключ –L для просмотра полного списка зарегистрированных серверов SQL. В этом случае синтаксис запуска утилиты будет выглядеть следующим образом:

Sqlcmd –L

Еще один часто используемый ключ — это ключ –P. Он позволяет просмотреть статистику производительности SQL Server 2005. Для того чтобы просмотреть полный список ключей с их описанием, введите в командной строке:

Sqlcmd /?

3.1.20. Использование файлов сценариев в Sqlcmd

Помимо набора ключей утилита Sqlcmd имеет ряд возможностей для обработки файлов, содержащих сценарии. Это позволяет контролировать выполнение файла, а также использовать переменные. Для того чтобы определить переменные во время выполнения сценария, используется ключ –V. Пример определения переменной:

sclcmd -v FIO="Petrenko P.I. "

Также для решения данной задачи можно воспользоваться командой –shell. Рассмотрим более детально пример использования команды и запуска файла сценария с помощью утилиты Sqlcmd:

sclcmd -S NameOfSQLServer -D WorksDB -V FIO="Petrenko P.I." -I SQLScript.sql

В этом примере используется целый ряд ключей:

Помимо того, что вы можете задавать переменные при запуске утилиты Sqlcmd, существует несколько предопределенных переменных, которые также могут использоваться вместе с утилитой Sqlcmd. Полный список переменных и соответствующих ключей в Sqlcmd приведен в табл. 3.1.

ПеременнаяКлюч Sqlcmd
1SQLCMDCOLSEP–s
2SQLCMDCOLWIDTH–w
3SQLCMDDBNAME–d
4SQLCMDERRORLEVEL–m
5SQLCMDHEADERS–h
6SQLCMDLOGINTIMEOUT–l
7SQLCMDPACKETSIZE–a
8SQLCMDPASSWORD–P
9SQLCMDSERVER–S
10SQLCMDSTATTIMEOUT–t
11SQLCMDUSER–U
12SQLCMDWORKSTATION–H
Таблица 3.1. Список переменных и соответствующих им ключей Sqlcmd

Помимо набора предопределенных переменных утилита Sqlcmd имеет набор расширенных команд. Данные команды, а также их описание приведены в табл. 3.2.

КомандаОписание
1:Connect [timeout]Используется для соединения с экземпляром SQL Server
2:Error (filename)Позволяет перенаправить вывод сообщений об ошибках в определенный файл
3:ListИспользуется для отображения содержимого кэша команд
4:On error [exit/retry/
ignore]
Позволяет определить команду, которая будет выполняться во время возникновения ошибки
5:OutПозволяет перенаправить вывод результатов выполнения запроса
6:Perftrace (filename)Перенаправляет вывод статистики производительности системы в определенный файл
7:ServerListИспользуется для отображения полного списка доступных систем с SQL Server
8:XML[ON/OFF]Определяет параметры вывода результатов в формате XML
9[:]!!Используется для выполнения системных команд
10[:]EDВыполняет редактирование команды кэша
11[:]EXIT (results)Использует значение (results) в качестве параметров выхода
12[:]GO[count]Используется для определения конца выполнения пакета для кэшированных команд. Добавление параметра [count] позволяет выполнять данную команду определенное число раз
13[:]QUITИспользуется для выхода из утилиты Sqlcmd
14[:]r (filename)Позволяет определить набор команд Sqlcmd для определенного файла
15[:]RESETИспользуется для очистки кэша
Таблица 3.2. Список расширенных команд и их описание

Рассмотрим использование расширенного набора команд на примере. В приведенном примере мы, используя утилиту Sqlcmd, выполнили соединение с сервером WorksDB, а затем возвратили значение, которое является результатом выполнения запроса (подсчета количества строк в таблице):

C:\>sqlcmd
1> use WorksDB
2> :EXTT(select count{*) from Table1)
-----------------------------
Changed database context to 'WorksDB'.
91
(1 rows affected)

3.2. Новые средства управления

В SQL Server 2005 появились не только новые средства для управления, но и средства для создания приложений и интеграции с существующими системами разработки (такими, как .NET Framework). Для этих целей в SQL Server был создан новый набор объектов — System Management Objects (SMO), позволяющий автоматизировать и ускорить создание новых приложений. Помимо этого в SQL Server 2005 расширен набор функций API для работы с сервисами аналитики и репликации, что позволяет разработчикам создавать новые приложения для работы с данными функциями SQL Server. Еще одним преимуществом SQL Server 2005 является поддержка конфигурации и событий WMI. Далее мы более детально рассмотрим System Management Objects, Analysis Management Objects, Replication Management Objects, а также WMI.

3.2.1. SQL Server Management Objects (SMO)

Так же как и предшественник, Distributed Management Objects (DMO), новый набор объектов SQL Server Management Objects (SMO) создан с учетом всех тонкостей работы SQL Server 2005. Однако в отличие от DMO, который базировался на устаревающей технологии COM, новый набор объектов SMO базируется на библиотеке классов .NET. Помимо всего прочего это подразумевает, что для работы с набором SMO требуется сначала установить на компьютер .NET Framework. Кроме SQL Server 2005, SMO может использоваться для создания приложений и управления в системах SQL Server 7.0 и SQL Server 2000. В отношении набора объектов поддерживается не только прямая совместимость, но и обратная: DMO также поддерживается SQL Server 2005, однако в этом случае вы не сможете использовать ряд преимуществ, предоставляемых новым набором объектов. Например, DMO нельзя использовать для управления брокером сервисов, новыми типами VARBINARY, XML и другими преимуществами SQL Server 2005. Помимо этого в SMO появилось около 150 новых классов для работы с новыми возможностями SQL Server 2005. Все они окажутся недоступными при использовании DMO.

Помимо перечисленных преимуществ в SMO появились следующие:

3.2.2. Использование Windows Management Instrumentation (WMI)

Для управления SQL Server 2005 также может использоваться инструментарий API Windows — Windows Management Instrumentation (WMI). WMI представляет собой стандарт Microsoft, который поддерживается многими программными продуктами. В предыдущих версиях SQL Server данный API не мог быть эффективно использован, поскольку он не был достаточно развит в предыдущих версиях этого программного продукта. Для управления SQL Server в этом случае использовались DMO и SQL Server Enterprise Manager. Для предоставления еще одного дополнительного механизма управления функциями SQL Server 2005 был реализован и развит механизм WMI, а также расширены возможности провайдера WMI для обработки новых событий WMI.

3.2.3. Провайдер WMI

Новый провайдер WMI в SQL Server 2005 позволяет реализовать возможности удаленного управления приложениями и SQL Server. WMI создавался с таким расчетом, что он может работать как в подключенном режиме, так и в автономном, позволяя обрабатывать запросы и создавать приложения, когда соединение с зарегистрированным сервером отсутствует. Для работы провайдера WMI используется таблица Microsoft.SqlServer.Smo.WMI.

3.2.4. События WMI

Расширение WMI было достигнуто за счет использования новых событий WMI и их обработки. Для мониторинга возникновения этих событий используется Microsoft Operations Manager (MOM) — специальное приложение, разработанное для выполнения подобных функций. События WMI возникают при выполнении всех операций с помощью профайлера. Например, события WMI генерируются во время создания базы данных, ее удалении, добавлении значений, а также во время других операций, выполняемых пользователем в SQL Server. События WMI генерируются не только ядром SQL Server, но и сервисами отчетов, аналитики и преобразования данных.

3.2.5. Набор объектов Analysis Management Objects (AMO)

Для работы с сервисами аналитики и создания приложений на их основе в SQL Server 2005 предусмотрен компонент Analysis Management Objects (AMO) — набор объектов для создания приложений сервисов аналитики. Помимо управления сервисами аналитики AMO может быть использован для управления следующими объектами SQL Server 2005:

Так же как и SMO, AMO построено на основе среды разработки .NET Framework и требует ее установки. AMO построено на основе библиотеки COM-объектов, которая носит название Decision Support Objects (DSO). Для AMO поддерживается обратная совместимость. Это означает, что SQL Server 2005 может использовать в своей работе более ранние версии AMO.

Во время работы AMO генерирует набор XML-сообщений, которые используются для создания и изменения параметров или удаления объектов сервисов аналитики. Эти сообщения могут быть сохранены в виде отдельных файлов для дальнейшего использования. Для хранения объектов используется таблица Microsoft.SqlServer.Management.AnalysisServices.

3.2.6. Библиотека Replication Management Objects (RMO)

Набор объектов SMO создавался для управления практическими всеми возможными параметрами SQL Server 2005, однако он не охватывает возможности этого программного продукта в отношении репликации. Для этих целей создана еще одна библиотека — Replication Management Objects (RMO). Эта библиотека используется для настройки параметров репликации и базируется, так же как и свои родственники AMO и SMO, на основе среды разработки .NET Framework. RMO содержит набор классов, которые позволяют выполнить репликацию, администрирование, синхронизацию и мониторинг распределенных систем с использованием механизма репликации. Для использования RMO в SQL Server 2005 используется таблица Microsoft.SqlServer.Replication.

3.3. Средства увеличения производительности

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

В данном разделе мы рассмотрим новые средства для увеличения производительности SQL Server 2005. Для этого используются такие утилиты, как Showplan, Profiler и Database Tuning Advisor.

3.3.1. Утилита Profiler

Профайлер ранее использовался в системах SQL Server более ранних версий, поэтому он не является новым представителем подобного класса утилит. Однако в новой версии этого приложения появилось несколько улучшений, на которых хотелось бы заострить ваше внимание. Ранее во время обновления SQL Server необходимо было также выполнять соответствующее обновление профайлера. Иначе информация, отображаемая профайлером, в лучшем случае будет некорректна, а в худшем профайлер не будет работать. Подобная зависимость версии утилиты от версии SQL Server требовала пристального внимания со стороны администраторов. С выходом SQL Server 2005 эта зависимость исчезла, поскольку информация теперь хранится не в таблицах SQL Server, а в XML-файлах. Благодаря этому настроечная информация не зависит от версии SQL Server, а следовательно, не требует обновления профайлера вместе с обновлением SQL Server.

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

3.3.2. Профили сервисов аналитики

Одним из наиболее значимых изменений в новой версии профайлера является возможность выполнения MDX-запросов к сервису аналитики. Выполнение подобных запросов сервисом аналитики происходит точно таким же образом, что и выполнение обычного SQL-запроса ядром SQL Server 2005.

3.3.3. Агрегированные представления

Агрегированные представления профайлера SQL Server 2005 позволяют разработчикам и администраторам выполнять группировку событий для отображения их общего количества и упрощения работы с ними. Например, вы можете просмотреть события профайлера согласно кодам процессов (SPID — system process ID), а также событиям схода в систему. Это позволит сопоставить вход в систему с кодом процесса. Также агрегированные представления предоставляют информацию для оценки тенденций и событий без необходимости построения графиков и выгрузки результатов работы профайлера в таблицу с целью дальнейшего анализа.

3.3.4. Набор разрешений для трассировки

Еще одно преимущество, которое появилось в профайлере, — это возможность трассировки запросов и управления правами на выполнение этой операции. Для того чтобы управлять правами на трассировку выполнения запросов с помощью профайлера, необходимо иметь привилегии системного администратора. Для выполнения трассировки запросов в SQL Server 2005 предусмотрена роль Trace. Эту роль можно связать с соответствующей учетной записью пользователя, который будет выполнять трассировку с помощью профайлера. В этом случае пользователю нет необходимости входить в состав группы системных администраторов, чтобы выполнять трассировку. Для этого необходимо только добавить его учетную запись в группу Trace.

3.3.5. Извлечение данных согласно их типу

Профайлер SQL Server 2005 имеет одну интересную особенность: он может выполнять запросы по-разному в зависимости от типа события. Например, может потребоваться извлечь все команды SQL из определенной сессии и записать их в отдельный SQL-файл с целью дальнейшего анализа в SQL Server Management Studio. Аналогичное действие можно выполнить также в отношении MDX- и DMX- запросов. Помимо этого вы также можете извлекать из сессии блокировочные запросы и анализировать их действие на систему. Это предоставляет разработчикам и администраторам дополнительные средства для анализа работы SQL Server и оптимизации запросов.

3.3.6. Утилита Create Trace Wizard

Мастер трассировки (утилита Create Trace Wizard) — это еще одно преимущество SQL Server 2005. Он присутствовал в более ранних версиях SQL Server, начиная с версии 7.0. Однако в SQL Server 2000 разработчики отказались от него. Теперь они решили вернуться на круги своя и возродить данную утилиту. Мастер трассировки позволят упростить процесс трассировки запросов, предоставляя администратору набор этапов, пройдя которые он сможет настроить трассировку запросов SQL Server.

3.3.7. Редактор запросов SQL SMS

В предыдущих версиях SQL Server роль редактора запросов выполнял анализатор запросов (Query Analyzer). Это приложение имело возможность в графическом виде отображать план выполнения запросов, что упрощало создание сложных запросов и их выполнение. С помощью графического отображения плана запросов можно было легко контролировать ход их выполнения, а при необходимости отлаживать. Новая утилита также позволяет автоматизировать выполнение запросов и представить их в графическом виде. Помимо этого редактор запросов SQL Server Management Studio позволяет создавать предполагаемый план выполнения запроса, который в общем случае может отличаться от реального. Общий вид редактора запросов SQL SMS приведен на рис. 3.7.

Помимо возможности создавать предполагаемые планы выполнения запросов в редакторе запросов появилась возможность выделения цветом команд, имен переменных, хранимых процедур и пользовательских функций. Это значительно упрощает процесс разработки приложений. В редакторе запросов используется следующая цветовая палитра для выделения различных команд:

Значения переменных, которые использовались для параметризации запросов, будут отображаться в окне Showplan. Это позволяет в интерактивном режиме просматривать содержимое параметров. Также данная информация может содержать информацию о том, что разработчиком используются расширения (UDX) в качестве части запроса.

В отличие от анализатора запросов, редактор запросов позволяет выполнять экспорт созданных запросов и планов их выполнения. Для сохранения плана выполнения запроса используется XML-документ. Этот документ впоследствии может быть отправлен другому разработчику для обмена опытом или импортирования в систему. Для того чтобы импортировать данный файл в другую систему, не требуется иметь подобную базу данных. Несмотря на появление нового формата для хранения планов выполнения, старый формат (текст с графикой) также поддерживается.


Рис. 3.7. План выполнения запроса в SQL Server Management Studio

3.3.8. Утилита Database Tuning Advisor

Еще одним нововведением SQL Server 2005 является утилита Database Tuning Advisor, которая позволяет настраивать производительность приложений, работающих с базой данных Microsoft SQL. На самом деле это не новый продукт, а улучшенная версия программного продукта, который ранее был известен под названием “Index Tuning Wizard”. Эта утилита позволяла настраивать индексы таблиц для улучшения общей производительности системы. Database Tuning Advisor ничем не отличается от своего предка, перенимая основную функциональность Index Tuning Wizard, однако позволяет не только настраивать индексы. Среди функций Database Tuning Advisor стоит выделить следующие:

Теперь утилита Database Tuning Advisor представляет собой полноценное приложение, а не набор разнородных инструментов и диалогов, как это было с Index Tuning Wizard. Общий вид окна Database Tuning Advisor приведен на рис. 3.8.


Рис. 3.8. Общий вид окна утилиты Database Tuning Advisor

3.3.9. Управление разделами в Database Tuning Advisor

Помимо поддержки индексов утилита Database Tuning Advisor позволяет создавать и настраивать разделы базы данных SQL Server 2005. При этом в Database Tuning Advisor можно использовать как настроенные разделы, так и ненастроенные (настроенный раздел использует групповой индекс, который имеет тот же порядок строк, что и таблица; ненастроенный раздел использует негрупповой индекс, в котором порядок записей отличается от порядка в индексируемой таблице). Помимо возможности создания и настройки раздела утилита Database Tuning Advisor может быть использована для удаления отдельных разделов, в которых нет необходимости. Более детально данную утилиту, а также механизм использования разделов мы рассмотрели в разделе 3.3.8 “Утилита Database Tuning Advisor” данной книги.

3.3.10. Приостановка работы в Database Tuning Advisor

Предок утилиты Database Tuning Advisor работал в однооконном режиме, что позволяло запустить только один мастер настройки индекса. В этом приложении не было возможности приостановить работу мастера или запускать его заново. В новой версии этого продукта появилась возможность приостанавливать работу мастера и запускать его заново. Помимо этого продолжить выполнение работы Database Tuning Advisor также можно на другом компьютере, что упрощает процесс администрирования.

3.3.11. Настройка по расписанию

Утилита Database Tuning Advisor поддерживает несколько распространенных сценариев работы с расписанием. Так же как и Index Tuning Wizard, эта утилита может работать на протяжении длительных периодов времени, которые обычно требуются для настройки индексов. На протяжении этого времени Database Tuning Advisor выполнит оптимальное индексирование выбранных таблиц. Однако воспользоваться расписанием также можно и в другом направлении. С помощью расписания можно задать промежуток времени, на протяжении которого будет работать Database Tuning Advisor. По истечении этого времени утилита выполнит наилучшее индексирование таблиц, которое может быть достижимо за этот промежуток времени. Иными словами, настраивая расписание, вы ограничиваете работу утилиты Database Tuning Advisor во времени и ухудшаете результаты ее работы.

3.3.12. Поддержка методики WHATIF

Еще одно преимущество утилиты Database Tuning Advisor — это возможность настраивать приложения, используя методику WHATIF. Это позволяет разработчикам выполнять тестирование созданного сценария согласно установленным параметрам, а также изменять эти параметры согласно потребностям решаемых бизнес-задач. Пусть, например, согласно требованиям клиента, для которого разрабатывается решение, необходимо выполнить индексирование таблиц, однако ваш опыт подсказывает, что подобное индексирование не улучшит скорость работы базы данных и выполнение запросов. Используя методику WHATIF, вы сможете легко протестировать работу приложения в случае использования индекса, при этом не настраивая его.


Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 1    Оценка 0        Оценить