Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
skydrive-2013-06-03 / администрирование 08.docx
Скачиваний:
98
Добавлен:
23.02.2015
Размер:
31.51 Кб
Скачать

Администрирование. Лекция 8. Продолжение Администрирование бд.

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

sp_configure [ [ @configname = ] 'option_name' [ , [ @configvalue = ] 'value' ] ]

@configname= ] 'option_name'

Имя параметра конфигурации. Аргумент option_name имеет типvarchar(35) и значение по умолчанию NULL.

@configvalue= ] 'value'

Новое значение параметра конфигурации. Аргумент value имеет тип int и значение по умолчанию NULL. Максимальное значение зависит от конкретного параметра.

USE master;

GO

EXEC sp_configure 'recovery interval', '3';

RECONFIGURE WITH OVERRIDE;

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

SQL Server содержит множество автоматических средств, предназначенных для снижения расходов, которые обычно связаны с конфигурированием и настройкой системы управления реляционными базами данных (RDBMS).

2.1 Динамическое управление памятью

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

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

2.2 Пул памяти

Объектный пул (англ. object pool) — порождающий шаблон проектирования, набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул.

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

SQL Server динамически выделяет и освобождает память в пуле. Пул памяти содержит определенное количество памяти, которое разделяется между следующими компонентами:

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

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

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

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

  • Кэш процедур.Используется для хранения планов исполнения операторов Transact-SQL (T-SQL) и хранимых процедур, когда происходит их выполнение.