Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
72
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

6.6.10. Использование утилит для отправки сообщений из командной строки

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

bmail -s smtp.YourServer.com -t komu@nwtraders.msft -f otKogo@nwtraders.msft -h -a "Заголовок письма" -b "Текст письма"

Для использования данного метода необходимо поместить файл этой утилиты в любой каталог, указанный в переменной окружения PATH. Затем соответствующую команду можно использовать в этапе типа CmdExec для задания SQL Server Agent или при помощи хранимой процедуры xp_cmdshell — в коде Transact-SQL. Отметим, что хранимая процедура xp_cmdshell также по умолчанию отключена в SQL Server 2008 из соображений безопасности. Включение ее рекомендуется производить при помощи утилиты Surface Area Configuration.

6.7. Планы обслуживания баз данных (Database Maintenance Plans)

Планы обслуживания баз данных (Database Maintenance Plans) — это специальные объекты, которые представляют собой набор самых распространенных операций по обслуживанию, которые можно запланировать ля выполнения по расписанию. Для каждого плана создается отдельный пакет SSIS (SQL Server Integration Services).

Работа с планами обслуживания БД производится из контейнера Management  Maintenance Plans в SQL Server Management Studio.

Планы обслуживания можно создавать двумя способами:

  • при помощи мастера. Запустить мастер можно при помощи команды Maintenance Plan Wizard из контекстного меню для контейнера Maintenance Plans;

  • средствами графического интерфейса SSIS. Графический интерфейс для создания планов обслуживания можно запустить из Management Studio (команда New Maintenance Plan (Новый план обслуживания) в контекстном меню для контейнера Maintenance Plans (Планы обслуживания)), а можно и обычным для SSIS способом при помощи консоли SQL Server Business Intelligence Development Studio. Графический интерфейс предоставляет большую функциональность по сравнению с мастером, однако использовать его сложнее.

Создание планов обслуживания баз данных при помощи мастера:

  1. На экране Select a Target Server необходимо указать имя создаваемого плана обслуживания, имя сервера, на котором будут выполняться операции по обслуживанию и режим аутентификации при подключении. Вы можете создать на одном сервере планы обслуживания, которые будут выполняться на всех остальных серверах SQL Server предприятия.

  2. На экране Select Maintenance Tasks необходимо определить задачи, которые будут выполняться в рамках данного плана. В вашем распоряжении — следующие задачи:

  • Check database integrity — проверить целостность базы данных с помощью команды DBCC CHECKDB;

  • Shrink database — уменьшить размер файлов БД при помощи команды DBCC SHRINKDATABASE;

  • Reorganize index — реорганизовать индекс (или множество индексов) командой ALTER INDEX ... REORGANIZE;

  • Rebuild index — перестроить индекс или индексы командой ALTER INDEX ... REBUILD;

  • Update statistics — обновить статистку для всех или указанных таблиц и представлений при помощи команды UPDATE STATISTICS;

  • Clean up history — возможность удалить историю резервного копирования, выполнения заданий SQL Server Agent и выполнения планов обслуживания из таблиц базы данных MSDB. Удаление будет производиться хранимыми процедурами sp_delete_backuphistory, sp_purgejobhistory и sp_maintplan_delete_log соответственно;

  • Execute SQL Server Agent Job — возможность выполнить указанное вами задание SQL Server Agent. Для этой цели в плане обслуживания будет использоваться хранимая процедура sp_start_job;

  • Backup Database (Full) и Backup Database (Differential) — возможность в рамках плана обслуживания выполнить соответственно полное или разностное резервное копирование указанных баз данных с помощью команды BACKUP DATABASE;

  • Backup Database (Transaction Log) — возможность выполнить резервное копирование журнала транзакций для указанных вами баз данных. Используется команда BACKUP LOG.

  1. На экране Select Maintenance Task Order выбрать последовательность выполнения выбранных вами операций. Для этой цели предназначены кнопки Move Up и Move Down.

  2. Далее начинаются экраны для настройки конкретных параметров выполнения выбранных вами заданий.

  3. После окончания настройки заданий откроется экран Select Plan Properties, на котором необходимо настроить расписание выполнения плана. По умолчанию значение выглядит как Not scheduled (On demand);

  4. На экране Select Report Options настроить параметры отчета, который будет создан при выполнении плана. В вашем распоряжении — два варианта:

  • создать отчеты в виде файлов на диске (в этом случае вам потребуется указать каталог),

  • отправить созданные отчеты по электронной почте (потребуется указать оператора SQL Server Agent).

  1. На последнем экране мастера просмотреть выбранные вами параметры и нажать на кнопку Finish.

Работа с созданным планом обслуживния

Из контекстного меню для созданного плана обслуживания в контейнере Maintenance Plan вы сможете:

  • View History — получить информацию об истории выполнения данного плана;

  • Modify — открыть пакет SSIS для плана выполнения, чтобы просмотреть его или внести необходимые изменения;

  • Execute — запустить план на выполнение;

  • Rename — переименовать

  • Delete — удалить.

Отчет о результатах выполнения планов

Отчет о результатах выполнения планов обслуживания создается в виде текстового файла (см. рис. 6.8). При необходимости, можно создать отчет на основе информации из таблицы sysdbmaintplan_history в БД MSDB.

Рис. 6.8. Пример отчета о выполнении плана обслуживания баз данных

Отметим еще два момента, связанных с планами обслуживания баз данных:

  • в SQL Server 2008 вы можете использовать планы обслуживания старых версий SQL Server. Однако они будут доступны только в том случае, если вы обновляли до SQL Server 2008 сервер предыдущей версии, в которой такой план был создан. Найти такие планы можно будет в контейнере Management (Управление)  Legacy (Унаследованное)  Database Maintenance Plans (Планы обслуживания баз данных). Создать планы старого образца в SQL Server 2008 невозможно;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]