DBCC SQLPERF (Transact-SQL)
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Biedt gebruiksstatistieken voor transactielogboekruimte voor alle databases. In SQL Server kan het ook worden gebruikt om wacht- en vergrendelingsstatistieken opnieuw in te stellen.
van toepassing op: SQL Server 2008 (10.0.x) en latere versies, en SQL Database (Preview in sommige regio's)
Transact-SQL syntaxisconventies
Syntaxis
DBCC SQLPERF
(
[ LOGSPACE ]
| [ "sys.dm_os_latch_stats" , CLEAR ]
| [ "sys.dm_os_wait_stats" , CLEAR ]
)
[ WITH NO_INFOMSGS ]
Argumenten
LOGSPACE
Retourneert de huidige grootte van het transactielogboek en het percentage logboekruimte dat voor elke database wordt gebruikt. Gebruik deze informatie om de hoeveelheid ruimte te bewaken die wordt gebruikt in een transactielogboek.
Belangrijk
Zie de sectie Opmerkingen in dit onderwerp voor meer informatie over informatie over het gebruik van ruimte voor het transactielogboek vanaf SQL Server 2012 (11.x).
"sys.dm_os_latch_stats", CLEAR
Hiermee stelt u de vergrendelingsstatistieken opnieuw in. Zie sys.dm_os_latch_stats (Transact-SQL)voor meer informatie. Deze optie is niet beschikbaar in SQL Database.
"sys.dm_os_wait_stats", CLEAR
Hiermee stelt u de wachtstatistieken opnieuw in. Zie sys.dm_os_wait_stats (Transact-SQL)voor meer informatie. Deze optie is niet beschikbaar in SQL Database.
MET NO_INFOMSGS
Onderdrukt alle informatieve berichten met ernstniveaus van 0 tot en met 10.
Resultatensets
In de volgende tabel worden de kolommen in de resultatenset beschreven.
Kolomnaam | Definitie |
---|---|
databasenaam | De naam van de database voor de weergegeven logboekstatistieken. |
logboekgrootte (MB) | De huidige grootte die aan het logboek is toegewezen. Deze waarde is altijd kleiner dan het bedrag dat oorspronkelijk is toegewezen voor logboekruimte, omdat de database-engine een kleine hoeveelheid schijfruimte reserveert voor interne headergegevens. |
gebruikte logboekruimte (%) | Percentage van het logboekbestand dat momenteel wordt gebruikt om transactielogboekgegevens op te slaan. |
status | Status van het logboekbestand. Altijd 0. |
Opmerkingen
Gebruik vanaf SQL Server 2012 (11.x) de sys.dm_db_log_space_usage DMV in plaats van DBCC SQLPERF(LOGSPACE)
om ruimtegebruiksgegevens voor het transactielogboek per database te retourneren.
In het transactielogboek wordt elke transactie vastgelegd die in een database is gemaakt. Zie The Transaction Log (SQL Server) en SQL Server Transaction Log Architecture and Management Guidevoor meer informatie.
Machtigingen
SQL Server vereist MACHTIGING SERVERSTATUS WEERGEVEN op de server om DBCC SQLPERF(LOGSPACE)
uit te voeren. Voor het opnieuw instellen van wacht- en vergrendelingsstatistieken is ALTER SERVER STATE
machtiging op de server vereist.
Voor SQL Database Premium- en Bedrijfskritieke lagen is de machtiging VIEW DATABASE STATE in de database vereist. Voor de lagen SQL Database Standard, Basic en Algemeen gebruik is het SQL Database-beheerdersaccount vereist. Wachtherstel en vergrendelingsstatistieken worden niet ondersteund.
Voorbeelden
Een. Informatie over logboekruimte weergeven voor alle databases
In het volgende voorbeeld wordt LOGSPACE
informatie weergegeven voor alle databases in het exemplaar van SQL Server.
DBCC SQLPERF (LOGSPACE);
GO
Dit is de resultatenset.
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. Wachtstatistieken opnieuw instellen
In het volgende voorbeeld worden de wachtstatistieken voor het exemplaar van SQL Server opnieuw ingesteld.
DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);