Главная » Microsoft SQL Server, Базы данных » Управление обслуживанием базы данных

0

SQL Server является центральным узлом команд обслуживания базы данных. СУБД обеспечила администратора баз данных возможностью составления плана обслуживания сервера.

Планирование обслуживания базы данных

Идеальный план обслуживания базы данных включает в себя несколько задач (в указанном порядке).

?               Проверка согласованности. Следует выполнить команды DBCC CheckDB и DBCC CleanTable для таблиц, которые подверглись большим текстовым обновлениям. Затем следует проверить целостность структуры базы данных, выполнив команды DBCC CheckCatalog, DBCC CheckConstraints иDBCC Checkldent.

?               Обновление статистики индексов.

?               Дефрагментация базы данных.

?               Перестройка индексов.

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

?               Проверка размеров файлов и высвобождение дискового пространства.

Все эти задачи можно автоматизировать с помощью заданий агента SQL Server Agent.

С выходом пакета обновлений SP1 в работе планов обслуживания произошли Внимание! некоторые изменения.

•                       План обслуживания работает, когда установлен компонент SQL Server Tools или Integration Services. Раньше для этого требовалось установить оба этих компонента.

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

Выход пакета SP2 также внес некоторые изменения в планы обслуживания.

•                       Стала возможной поддержка множества расписаний. Конструктор планов обслуживания поддерживает множество подчиненных планов одного главного, при этом каждый подчиненный план может иметь собственное расписание для своих заданий.

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

•                       Мастер плана обслуживания включает крайне востребованное задание Maitenance Cleanup, существовавшее в SQL Server 2000. Это задание удаляет файлы, оставшиеся от выполнения плана обслуживания.

•                       Задание Database Backup включает возможность определения параметра срока жизни резервной копии, существовавшего в версии SQL Server 2000.

•                       Задание Database Backup не изменяет папку хранения резервных копий, если она была определена в месте, отличном от заданных по умолчанию.

•                   Задание Database Backup не дает возможности ошибочно задать для системных баз данных дифференцированное или транзакционное резервное копирование,

•                   Задание History cleanup содержит возможность определения интервала срока жизни файлов в часах.

•                   Задание Update Statistics содержит параметры полного сканирования и размера выборки, которые были доступны в версии SQL Server 2000.

Мастер плана обслуживания

Мастер плана обслуживания, встроенный в утилиту Management Studio, поможет автоматизировать базовый план обслуживания базы данных и выполнить все связанные с ним задачи. Все планы обслуживания отображаются в папке Management\Maintenance Plans утилиты. Щелкните правой кнопкой мыши на этой папке и выберите в контекстном меню пункт New Maintenance Plan. В открывшемся диалоговом окне введите имя плана обслуживания и щелкните на кнопке ОК.

После присвоения имени плану обслуживания Management Studio откроет окно, включающее имя, описание и время запуска плана, а также список выполняемых задач. На рис. 37.1 показан пример плана обслуживания с несколькими введенными задачами.

Puc. 37.1. Создание плана обслуживания с помощью ввода нескольких задач и времени их запуска

Добавление задачи

План обслуживания должен содержать минимум одну задачу. К счастью, добавить задачу не так уж и сложно. Для этого достаточно перетащить с панели задач (рис. 37.2) нужный значок в рабочую область плана обслуживания. После этого задание примет форму прямоугольной области с описанием (см. рис. 37.1).

В данный момент задача еще не сконфигурирована — конфигурация определяется в диалоговом окне Properties (рис. 37.3), содержимое которого зависит от типа конкретной задачи. Например, если вы выберете задачу резервирования базы данных, то увидите в окне параметры выбора типа базы данных, типа устройства резервирования и прочую информацию, связанную с этим типом. С помощью раскрывающегося списка вы можете выбрать другую задачу. В центре окна Properties содержится список параметров выбранной задачи— их можно организовать по категориям или в алфавитном порядке. В нижней части окна Properties отображается описание выделенного свойства. Это описание обычно обеспечивает пользователя достаточной информацией для корректного конфигурирования выбранной задачи.

Рис. 37.2. Для добавления новых задач Рис. 37.3. В окне Properties опреде- в рабочую область плана выполнения       лите специфику задачи

воспользуйтесь панелью задач

Иногда вам может не потребоваться работать с окном параметров. Например, вы можете создать новую задачу и пропустить окно Properties, дважды щелкнув на задаче. Откроется окно, специфичное для конкретной задачи (на рис. 37.4 показано такое окно для задачи резервирования). В отличие от окна Properties в нем отображаются свойства задачи в контексте. К тому же элементы в нем отображаются серым цветом, пока не будет определена их корректная функциональность. Например, при выборе баз данных для резервирования данное диалоговое окно не даст вам установить какие-либо другие параметры, пока не будет выделена одна или несколько баз.

Достаточно интересно посмотреть на программный код Т-SQL, сформированный мастером после установки параметров задачи. В окне Тransact SQL невозможно отредактировать команды, в то же время, если вы собираетесь сконфигурировать программный код SQL вручную, то можете предварительно взглянуть на то, как с этой задачей справляется мастер плана обслуживания.

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

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

Puc. 37.4. В дополнение к окну Properties для конфигурирования вы можете воспользоваться диалоговым окном, специфичным для конкретной задачи

Определение графика выполнения

Созданные задачи вы можете запустить на выполнение вручную; также можно потребовать от системы их автоматического запуска по расписанию. Как правило, такие регулярные задачи, как резервирование, лучше автоматизировать. Щелкните на эллипсе рядом с полем Schedule и в открывшемся диалоговом окне (рис. 37.5) создайте график выполнения задачи.

Создайте график задания— например, запланируйте ежедневное, еженедельное и ежемесячное его выполнение. В этом диалоговом окне вы можете также выбрать конкретное время запуска задания и задать интервал, в течение которого задание будет актуальным. Единственное, чего нельзя сделать в этом диалоговом окне, — это запланировать запуск задания вручную. Для настройки запуска задачи вручную щелкните на красном крестике рядом с полем Schedule.

Создание нового подключения

В зависимости от настройки базы данных для выполнения некоторых задач вам может потребоваться создать несколько подключений. Мастер плана обслуживания всегда предлагает подключение к экземпляру по умолчанию, установленному на локальном компьютере. Чтобы добавить другие подключения в текущий план обслуживания (имейте в виду, что данные подключения не распространяются на другие планы), щелкните на кнопке Connections. Откроется диалоговое окно, показанное на рис. 37.6.

Puc. 37.5. Создайте график, соответствующий характеру задачи (старайтесь назначать ресурсоемкие задачи на нерабочее время)

Рис. 37.6. Если задаче требуются дополнительные подключения, определите их

Щелкните на кнопке Add и добавьте новое подключение. Определение подключения состоит из трех элементов: имени базы данных, имени сервера и регистрационных данных системы безопасности сервера. Старайтесь в имени подключения отражать имя сервера и его экземпляра. Если в будущем вам потребуется устранять какие-либо проблемы, то такое имя, как Мое подключение, вряд ли вам поможет быстро выполнить обслуживание базы. Имя сервера и его экземпляра можно ввести вручную или выбрать из списка — в последнем случае нужно щелкнуть на эллипсе рядом с полем Enter or Select Server Name. И в заключение вам потребуется выбрать между встроенной аутентификацией SQL Server и использованием учетной записи Windows. Для того чтобы добавить созданное подключение в список, щелкните на кнопке ОК.

Диалоговое окно Manage Connections позволяет редактировать и удалять ранее созданные подключения. При редактировании существующего подключения вы можете изменить имя сервера, а также регистрационные данные; остальные поля в диалоговом окне будут недоступны. Чтобы удалить из списка подключение, потребность в котором отпала, щелкните на кнопке Remove.

#       Помните, что удаление подключения — это дорога с односторонним движением,

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

Протоколирование задач обслуживания

Многие из задач обслуживания, автоматизируемые с помощью мастера, будут выполняться в нерабочее время, когда вы вряд ли захотите сидеть за монитором. Но вы можете потребовать от задач обслуживания протоколирования своих действий, чтобы иметь возможность просмотра журнала обслуживания в любое удобное время. Для использования этой функции щелкните на кнопке Logging. Откроется диалоговое окно, показанное на рис. 37.7.

Puc. 37.7. При желании вы можете заставить сервер протоколировать ход выполнения задач обслуживания базы данных

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

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

Обслуживание базы данных из командной строки

Как правило, обслуживание базы данных выполняется с помощью утилиты Management Studio или автоматизируется с помощью агента SQL Server Agent. В то же время обслуживать

базу данных можно и из командной строки DOS с помощью утилиты SQLMaint. Эта утилита имеет множество параметров, которые позволяют выполнять резервирование, обновлять статистику и запускать команды утилиты DBCC. Более подробную информацию об использовании этой утилиты вы можете получить в SQL Server 2005 Books Online.

Утилита SQLMaint может оказаться полезной в некоторых ситуациях, когда в план обслуживания будут включены некоторые системные функции или сторонние утилиты резервного копирования. Но я все же рекомендую оставаться с агентом SQL Server Agent, разумеется, если не возникают обстоятельства непреодолимой силы, не допускающие его использование.

Мониторинг обслуживания базы данных

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

Таблица 37.1. Ежедневный план работ, выполняемых администратором базы данных

Задача Пн Вт Ср Чт Пт Сб

Резервирование системных баз данных

Резервирование производственных баз данных

Запуск SQL Agent, SQL Main и DTC

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

Выполнение пакетных заданий

Выполнение заданий DBCC

Проверка ошибок в журнале сервера

Запуск агента журнала репликаций

Выполнение заданий очистки уже распределенных репликаций

Проверка последней перезагрузки сервера баз данных

В зависимости от сложности и количества серверов администратор может создать данный список задач вручную на рабочем листе Excel или в таблице SQL Server.

Резюме

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

В следующей главе мы поговорим об использовании агента SQL Server Agent, который позволяет автоматизировать выполнение заданий.

Автоматизация обслуживания баз данных с помощью SQL Server Agent

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

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

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии