SQL: как я могу получить количество выполненных запросов в базе данных или час или ...?
есть ли способ увидеть, сколько запросов выполняется в каждый час, или в базе данных / час, или среднее количество запросов в день, или ...что интересно?
просто для статистики.. Я люблю цифры. Я не могу просто запустить трассировку с помощью SQL Server Profiler, потому что пользовательский интерфейс аварийно завершит работу, когда придет слишком много запросов.
SQL отслеживает некоторые основные "выполненные запросы статистики" где-то, или есть какие-либо инструменты, которые я могу использовать, чтобы получить это информацию?
(Я использую SQL Server 2008 R2)
2 ответов
Это должно работать:
select *
from sys.dm_os_performance_counters
where counter_name = 'Batch Requests/sec'
он фактически возвращает в общей сумме Пакетные Запросы. Вы периодически опрашиваете это число, а затем используете этот расчет:
ReqsPerSec = (curr.Value - prev.Value) / (curr.time - prev.time)
Я на самом деле только узнаю об этом в моей сертификации Microsoft.
хотя я пока не могу ответить на ваш вопрос напрямую, я могу отправить вас в правильном направлении с парой вещей:
- посмотреть мнения внутри сервера > базы данных > системы баз > данных > вид > вид системы. представления MSDN Systsem
- посмотрите на представления внутри сервера > базы данных > системные базы данных > мастер > представления > система Просмотр.
- возьмите пик в средствах трассировки, доступных для SQL Server.
в представлениях обратите внимание, что вам, возможно, придется присоединиться к паре представлений вместе или добраться до базовых таблиц, чтобы получить конкретно то, что вам нужно.