Новость из категории: Информация

Сбор сведений о базе данных SQL Azure версии 12: неподдерживаемые инструкции

Содержание:


1. DBCC;
2. Неподдерживаемые инструкции (Вы читаете данный раздел).
Сбор сведений о базе данных SQL Azure версии 12: неподдерживаемые инструкции

Поскольку перед вами платформа как услуга, некоторые функции будут недоступны. Например, если вы проводите тестирование и хотите очистить буферный кэш, чтобы увидеть поведение интересующего вас запроса. Обычно используется команда:
DBCC DROPCLEANBUFFERS ();

Даже в базе данных SQL Azure версии 12 вы получите следующее сообщение об ошибке:
Msg 40518, Level 16, State 1, Line 13
DBCC command 'DROPCLEANBUFFERS'
is not supported in this version
of SQL Server.

На самом деле меня это устраивает. Обычно я не слишком беспокоюсь о времени, необходимом для загрузки данных в кэш или компиляции планов для большинства загрузок данных. Но что произойдет, если при компиляции планов вы имеете дело с неудачным процессом оптимизации плана (parameter sniffing) и решили выполнить довольно обыкновенный запрос:
DBCC FREEPROCCACHE ();

Вы получаете еще одно сообщение об ошибке:
Msg 2571, Level 14, State 9, Line 14
User 'dbo' does not have permission
to run DBCC freeproccache.

Это сообщение означает, что вы не можете даже совершить правильное действие и выполнить такой запрос:
DECLARE @PlanHandle VARBINARY(64)

SELECT @PlanHandle = deqs.plan_handle
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE dest.text LIKE 'CREATE PROCEDURE dbo.MergeSalesOrderDetail%'

IF @PlanHandle IS NOT NULL
BEGIN
DBCC FREEPROCCACHE(@PlanHandle);
END
GO

Это небольшая проблема, свойственная всем имеющимся в моем распоряжении инструментам. Мне бы действительно хотелось извлекать планы из кэша по мере необходимости. Благодаря переходу на версию 12 у вас есть доступ к огромному количеству информации и функций управления. Естественно, некоторые из них далеко не безупречны во всех отношениях. Но по большей части у вас будет все необходимое для управления базой данных и объектами в ней. Модель платформы как услуги означает, что большинство стандартных элементов информации о сервере, обычно собираемых администраторами, просто не потребуются при работе с базой данных SQL Azure.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх