DBCC SQLPERF (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Выдает статистику использования места, занятого журналом транзакций на диске, для всех баз данных. В SQL Server также можно использовать для сброса статистики ожидания и блокировки.
Область применения: SQL Server 2008 (10.0.x) и более поздних версий, а также База данных SQL (предварительная версия в некоторых регионах)
Соглашения о синтаксисе Transact-SQL
Синтаксис
DBCC SQLPERF
(
[ LOGSPACE ]
| [ "sys.dm_os_latch_stats" , CLEAR ]
| [ "sys.dm_os_wait_stats" , CLEAR ]
)
[ WITH NO_INFOMSGS ]
Аргументы
LOGSPACE
Возвращает текущий размер журнала транзакций и процент пространства журнала, используемого для каждой базы данных. С помощью этих данных можно контролировать используемое пространство в журнале транзакций.
Внимание
Дополнительные сведения об использовании пространства для журнала транзакций, начиная с SQL Server 2012 (11.x), см . в разделе "Примечания " в этом разделе.
"sys.dm_os_latch_stats", CLEAR
Сбрасывает статистику кратковременных блокировок. Дополнительные сведения см. в статье sys.dm_os_latch_stats (Transact-SQL). Этот параметр недоступен в База данных SQL.
"sys.dm_os_wait_stats", CLEAR
Сбрасывает статистику ожидания. Для получения дополнительной информации см. sys.dm_os_wait_stats (Transact-SQL). Этот параметр недоступен в База данных SQL.
WITH NO_INFOMSGS
Подавляет все информационные сообщения со степенями серьезности от 0 до 10.
Результирующие наборы
В следующей таблице отображены столбцы результирующего набора.
Имя столбца | Определение |
---|---|
Имя базы данных | Имя базы данных, которой соответствует отображаемая статистика журнала. |
Log Size (MB) | Текущий размер, выделенный для журнала. Это значение всегда меньше объема, выделенного для пространства журнала, так как ядро СУБД резервирует небольшое количество дискового пространства для внутренних сведений заголовка. |
Log Space Used (%) | Доля (в процентах) файла журнала, используемого для хранения сведений журнала транзакций. |
Состояние | Состояние файла журнала. Всегда равно 0. |
Замечания
Начиная с SQL Server 2012 (11.x), используйте sys.dm_db_log_space_usage DMV вместо DBCC SQLPERF(LOGSPACE)
этого, чтобы вернуть сведения об использовании пространства для журнала транзакций для каждой базы данных.
В журнале транзакций записывается каждая транзакция, выполненная в базе данных. Дополнительные сведения см. в руководстве по архитектуре журнала транзакций и управлению журналами транзакций SQL Server.
Разрешения
ДЛЯ выполнения DBCC SQLPERF(LOGSPACE)
SQL Server требуется разрешение VIEW SERVER STATE на сервере. Для сброса статистики кратковременных блокировок и ожидания необходимо разрешение ALTER SERVER STATE
на сервер.
для уровней База данных SQL Premium и критически важный для бизнеса требуется разрешение VIEW DATABASE STATE в базе данных. База данных SQL уровнях "Стандартный", "Базовый" и "Общего назначения" требуется учетная запись администратора База данных SQL. Сброс статистики ожидания и блокировки не поддерживается.
Примеры
А. Отображение сведений о пространстве журнала для всех баз данных
В следующем примере отображаются LOGSPACE
сведения обо всех базах данных, содержащихся в экземпляре SQL Server.
DBCC SQLPERF (LOGSPACE);
GO
Вот результирующий набор.
Database Name Log Size (MB) Log Space Used (%) Status
------------- ------------- ------------------ -----------
master 3.99219 14.3469 0
tempdb 1.99219 1.64216 0
model 1.0 12.7953 0
msdb 3.99219 17.0132 0
AdventureWorks 19.554688 17.748701 0
B. Сброс статистики ожидания
В следующем примере сбрасывается статистика ожидания для экземпляра SQL Server.
DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);