DBCC SHRINKLOG (Parallel Data Warehouse)
Gilt für:Analytics Platform System (PDW)
Reduziert die Größe des Transaktionsprotokolls anwendungsübergreifend für die aktuelle PDW-Datenbank (Analytics Platform System). Die Daten werden defragmentiert, um das Transaktionsprotokoll zu verkleinern. Mit der Zeit kann es sein, dass das Datenbanktransaktionsprotokoll zu viele Bestandteile hat und dadurch nicht effizient verwendet werden kann. Verwenden Sie DBCC SHRINKLOG
, um diese Fragmentierung und damit auch die Protokollgröße zu verringern.
Transact-SQL-Syntaxkonventionen
Syntax
DBCC SHRINKLOG
[ ( SIZE = { target_size [ MB | GB | TB ] } | DEFAULT ) ]
[ WITH NO_INFOMSGS ]
[;]
Argumente
SIZE = { target_size [ MB | GB | TB ] } | DEFAULT
target_size ist die gewünschte Größe des Transaktionsprotokolls auf sämtlichen Computeknoten, nachdem DBCC SHRINKLOG
abgeschlossen wurde. Dabei handelt es sich um einen Integer größer als 0 (null).
Die Protokollgröße wird in Megabyte (MB), Gigabyte (GB) oder Terabyte (TB) angegeben. Dabei handelt es sich um die Gesamtgröße aller Transaktionsprotokolle auf den Computeknoten.
Standardmäßig reduziert DBCC SHRINKLOG
das Transaktionsprotokoll auf die Protokollgröße, die in den Metadaten der Datenbank gespeichert ist. Die Protokollgröße in den Metadaten wird von dem LOG_SIZE
-Parameter in CREATE DATABASE (Azure Synapse Analytics) oder ALTER DATABASE (Azure Synapse Analytics) bestimmt. DBCC SHRINKLOG
reduziert die Größe des Transaktionsprotokolls, wenn SIZE = DEFAULT
angegeben oder die SIZE
-Klausel weggelassen wird.
WITH NO_INFOMSGS
Informationsmeldungen werden nicht in den DBCC SHRINKLOG
-Ergebnissen angezeigt.
Berechtigungen
Erfordert die ALTER SERVER STATE-Berechtigung.
Bemerkungen
DBCC SHRINKLOG
ändert nicht die Protokollgröße, die in den Metadaten der Datenbank gespeichert ist. Die Metadaten enthalten weiterhin den LOG_SIZE
-Parameter, der in den Anweisungen CREATE DATABASE
oder ALTER DATABASE
angegeben wurde.
Beispiele
A. Reduzieren Sie das Transaktionsprotokoll auf die ursprüngliche von CREATE DATABASE angegebene Größe.
Angenommen, das Transaktionsprotokoll für die Addresses
-Datenbank wurde bei der Erstellung der Addresses
-Datenbank auf 100 MB festgelegt. Das heißt, die CREATE DATABASE
-Anweisung für Addresses
hatte LOG_SIZE = 100 MB
. Jetzt hat die Größe des Protokolls allerdings 150 MB erreicht und Sie möchten diese wieder auf 100 MB reduzieren.
Sie können eine der folgenden Anweisungen verwenden, um zu versuchen, das Transaktionsprotokoll der Addresses
-Datenbank auf seine Standardgröße von 100 MB zu verkleinern. Wenn das Verkleinern des Protokolls auf 100 MB zu Datenverlusten führen würde, verkleinert DBCC SHRINKLOG
es so weit wie möglich auf eine Größe von mehr als 100 MB, wobei jedoch keine Daten verloren gehen.
USE Addresses;
GO
DBCC SHRINKLOG ( SIZE = 100 MB );
GO
DBCC SHRINKLOG ( SIZE = DEFAULT );
GO
DBCC SHRINKLOG;
GO