
Администрирование. Лекция 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) и хранимых процедур, когда происходит их выполнение.