Экспорт (0) Печать
Развернуть все

Наблюдение за базой данных SQL Azure с помощью динамических административных представлений

Обновлено: Февраль 2014 г.

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

База данных SQL Microsoft Azure частично поддерживает три категории динамических административных представлений:

  • Динамические административные представления, связанные с базами данных.

  • Динамические административные представления, связанные с исполнением.

  • Динамические административные представления, связанные с транзакциями.

Полный список поддерживаемых динамических административных представлений в База данных SQL Microsoft Azure см. в разделе Системные представления (база данных SQL Azure). Более подробные сведения о динамических административных представлениях содержатся в разделе Динамические административные представлении и функции (Transact-SQL) электронной документации по SQL Server.

В База данных SQL Microsoft Azure для отправки запроса динамического административного представления требуются разрешения VIEW DATABASE STATE. Разрешение VIEW DATABASE STATE возвращает сведения обо всех объектах в текущей базе данных.

Чтобы предоставить разрешение VIEW DATABASE STATE определенному пользователю базы данных, выполните следующий запрос.

GRANT VIEW DATABASE STATE TO database_user;

В локальном экземпляре SQL Server динамические административные представления возвращают сведения о состоянии сервера. В База данных SQL Microsoft Azure они возвращают сведения только в отношении текущей логической базы данных.

noteПримечание
При выполнении представлений sys.dm_exec_requests и sys.dm_exec_sessions views, если пользователь имеет разрешение VIEW DATABASE STATE для работы с базой данных, он сможет видеть все исполняемые сеансы для этой базы данных. В противном случае пользователь сможет видеть только текущий сеанс.

Счет выставляется исходя из выпуска и мощности используемых баз данных База данных SQL Azure. Если размер базы данных достигает значения параметра MAXSIZE, возникает ошибка 40544. При этом пользователь не сможет вставлять или обновлять данные или создавать новые объекты (такие как таблицы, хранимые процедуры, представления и функции) до тех пор, пока параметр MAXSIZE базы данных не будет обновлен или не будут удалены данные. Дополнительные сведения см. в разделе Учетные записи и выставление счетов в базе данных SQL Azure. Представление sys.dm_db_partition_stats возвращает страницу и сведения о счетчике строк для каждого раздела в базе данных, которые можно использовать для расчета размера баз данных.

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

-- Calculates the size of the database. 

SELECT SUM(reserved_page_count)*8.0/1024

FROM sys.dm_db_partition_stats; 

GO

Следующий запрос возвращает размер отдельных объектов в базе данных (в мегабайтах):

-- Calculates the size of individual database objects. 

SELECT sys.objects.name, SUM(reserved_page_count) * 8.0 / 1024

FROM sys.dm_db_partition_stats, sys.objects 

WHERE sys.dm_db_partition_stats.object_id = sys.objects.object_id 

GROUP BY sys.objects.name; 

GO

Представление sys.dm_exec_connections (база данных SQL Azure) служит для извлечения сведений о соединениях, установленных с определенным сервером База данных SQL Azure, и сведений о каждом соединении. Помимо этого, представление sys.dm_exec_sessions позволяет извлечь сведения обо всех активных соединениях пользователей и внутренних задачах.

Следующий запрос извлекает сведения о текущих соединениях:

Медленные или длительные запросы могут потреблять значительные системные ресурсы. В этом разделе содержатся сведения об использовании динамических административных представлений для выявления некоторых общих проблем, связанных с производительностью запросов. Более подробные сведения см. в статье Устранение неполадок производительности в SQL Server 2005 на веб-узле Microsoft TechNet.

В следующем примере возвращаются сведения о пяти первых запросах, отсортированных по среднему времени ЦП. В этом примере выполняется сбор запросов по хэшу запроса, то есть логически схожие запросы группируются по общему потреблению ресурсов.

Медленные или длительные запросы могут потреблять чрезмерное количество ресурсов и привести к блокировке запросов. Причина блокировки заключается в плохом проекте или плане запроса, отсутствии полезных индексов и так далее. Представление sys.dm_tran_locks позволяет получить сведения о текущих блокировках в базе данных База данных SQL Azure. Образец кода см. в разделе sys.dm_tran_locks (Transact-SQL) электронной документации по SQL Server.

Неэффективный план запроса также может повысить потребление ресурсов ЦП. В следующем примере представление sys.dm_exec_query_stats используется для того, чтобы определить, какой запрос использует наибольшее количество ресурсов ЦП.

См. также

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft