B. Очистка процедурного кэша
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

DBCC FREEPROCCACHE           Таким образом, частота очистки процедурного кэша совпадает с частотой обновления статистики распределения данных в таблицах и индексах БД.Задачу на очистку процедурного кэша можно добавить в наш созданный выше план «Обновление статистики» аналогичным образом, только называться она будет "Выполнение инструкции T-SQL" Далее надо будет соединить последовательно две эти задачи Сохраняем все и наша задача готова.

C. Дефрагментация индексов

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

sp_msforeachtable N'DBCC INDEXDEFRAG ([ИМЯ БАЗЫ ДАННЫХ], ''?'')'           Запуск процесса дефрагментации индексов не блокирует таблицы, что позволяет запускать в любое время. Однако стоит учитывать увеличение нагрузки на сервер СУБД. Рекомендуется проводить дефрагментацию не реже одного раза в неделю.

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

Делается все также, только добавляется задача "Реорганизация индекса".

D. Реиндексация таблиц

       Наиболее существенный прирост производительности можно получить за счет полного перестроения индексов. Реиндексацию рекомендуется выполнять регулярно. Стоит учитывать, что процедура проведения реиндексации таблиц БД блокирует. Чтобы работа пользователей не была остановлена, лучше всего проводить данную операцию вне рабочего времени. SQL-команда на запуск процесса перестроения индекса следующая:

sp_msforeachtable N'DBCC DBREINDEX (''?'')'

 

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

Аналогично, название задачи "Перестроение индекса"

       Выполнение рассмотренных регламентных операций позволит существенно повысить производительность сервера СУБД. Для контроля работы SQL-сервера рекомендуется просматривать журнал событий, где можно посмотреть статистику работы плана обслуживания по указанному расписанию.

 

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

 

9. Создание Backup`ов средствами Windows (+архивирование)

 

       Не редко встаёт вопрос, как создать BackUp какой-либо базы данных средствами Windows. Особенно эта тема актуальна в бесплатных редакциях SQL Server (MSDE, Express), где SQL Agent вообще отсутствует. Реализуется это проще, чем может показаться.

Для теста создаём папку C:\BackupDB. В ней создаём файл SQLCommand.txt с текстом (командой на T-SQL):

DECLARE @str NVARCHAR(255) SET @str='C:\BackupDB\master_'+CONVERT(VARCHAR, GETDATE(), 105)+'.bak' BACKUP DATABASE master TO DISK=@str

       В этом примере мы создаём в нашей папке BackUp системной базы данных master с именем =’master_[текущая дата].bak’.

       Но мы не хотим хранить наши Backup`ы в обычном формате, мы хотим сэкономить дисковое пространство и хранить их в виде архивов. Проблема в том, что архивирование копий БД появилось только в SQL Server 2008, да и то, только в полной редакции. Для архивирования я буду использовать Win Rar.exe.

       Файл Win Rar.exe копируем в нашу папку C:\BackupDB. Так же создадим папку C:\BackupDB \BackupArchive, где будем хранить наши заархивированные копии базы. Ну вот собственно и всё, осталось создать .bat файл который и будет создавать копию базы, архивировать её и кидать в папку BackupArchive. Создаём в папке C:\BackupDB файл Win Rar.bat с текстом:

Дата: 2019-05-28, просмотров: 202.