DBCC SQLPERF (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Stellt Statistiken bezüglich der Nutzung von Speicherplatz für das Transaktionsprotokoll in allen Datenbanken bereit. Der Befehl kann in SQL Server auch zum Zurücksetzen von Wartezeiten- und Latchstatistiken verwendet werden.
Gilt für: SQL Server 2008 (10.0.x) und höhere Versionen, SQL-Datenbank (Vorschauversion in einigen Regionen)
Transact-SQL-Syntaxkonventionen
Syntax
DBCC SQLPERF
(
[ LOGSPACE ]
| [ "sys.dm_os_latch_stats" , CLEAR ]
| [ "sys.dm_os_wait_stats" , CLEAR ]
)
[ WITH NO_INFOMSGS ]
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.
Argumente
LOGSPACE
Gibt die aktuelle Größe des Transaktionsprotokolls und den für jede Datenbank genutzten Protokollspeicher in Prozent an. Anhand dieser Informationen können Sie den in einem Transaktionsprotokoll genutzten Speicherplatz überwachen.
Wichtig
Weitere Informationen zu den Informationen zur Speicherplatznutzung für das Transaktionsprotokoll in SQL Server 2012 (11.x) finden Sie im Abschnitt Hinweise in diesem Artikel.
"sys.dm_os_latch_stats", CLEAR
Setzt die Statistik für Latches zurück. Weitere Informationen finden Sie unter sys.dm_os_latch_stats (Transact-SQL). Diese Option steht in SQL-Datenbank nicht zur Verfügung.
"sys.dm_os_wait_stats", CLEAR
Setzt die Wartestatistik zurück. Weitere Informationen finden Sie unter sys.dm_os_wait_stats (Transact-SQL). Diese Option steht in SQL-Datenbank nicht zur Verfügung.
WITH NO_INFOMSGS
Unterdrückt alle Informationsmeldungen mit einem Schweregrad von 0 bis 10.
Resultsets
In der folgenden Tabelle werden die Spalten des Resultsets beschrieben:
Spaltenname | Definition |
---|---|
Database Name | Der Name der Datenbank, für die die Protokollstatistiken angezeigt werden. |
Protokollgröße (MB) | Dem Protokoll aktuell zugeordnete Größe. Es steht weniger Speicherplatz zur Verfügung, als dem Protokollspeicher ursprünglich zugeordnet wurde, da Datenbank-Engine einen kleinen Bereich an Datenträgerspeicher für interne Headerinformationen reserviert. |
Verwendeter Protokollspeicherplatz (%) | Prozentsatz der Protokolldatei, in dem zurzeit Informationen zur Transaktionsprotokollen gespeichert ist. |
Status | Status der Protokolldatei. Immer 0. |
Hinweise
Nutzen Sie ab SQL Server 2012 (11.x) die sys.dm_db_log_space_usage-DMV statt DBCC SQLPERF(LOGSPACE)
, um Informationen zur Speicherplatzverwendung für das Transaktionsprotokoll pro Datenbank zurückzugeben.
Im Transaktionsprotokoll wird jede in der Datenbank vorgenommene Transaktion aufgezeichnet. Weitere Informationen finden Sie unter Das Transaktionsprotokoll (SQL Server) und im Leitfaden zur Architektur und Verwaltung von Transaktionsprotokollen in SQL Server.
Berechtigungen
SQL Server erfordert die VIEW SERVER STATE-Berechtigung auf dem Server, um DBCC SQLPERF(LOGSPACE)
ausführen zu können. Wenn Sie Warte- und Latchstatistiken zurücksetzen möchten, ist die ALTER SERVER STATE
-Berechtigung auf dem Server erforderlich.
In SQL-Datenbank Premium-Tarifen und unternehmenskritischen Tarifen ist die VIEW DATABASE STATE-Berechtigung für die Datenbank erforderlich. Für die SQL-Datenbank-Tarife „Standard“, „Basic“ und „Universell“ ist das SQL-Datenbank-Administratorkonto erforderlich. Das Zurücksetzen der Warte- und Latchstatistiken wird nicht unterstützt.
Beispiele
A. Anzeigen von Informationen zum Protokollspeicherplatz für alle Datenbanken
Im folgenden Beispiel werden LOGSPACE
-Informationen für alle in der Instanz von SQL Serverenthaltenen Datenbanken angezeigt.
DBCC SQLPERF (LOGSPACE);
GO
Hier ist das Resultset.
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. Zurücksetzen von Wartestatistiken
Im folgenden Beispiel wird die Wartestatistik für die Instanz von SQL Server zurückgesetzt.
DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);