DBCC SHRINKLOG (Parallel Data Warehouse)

適用対象:yesAnalytics Platform System (PDW)

現在の Analytics Platform System (PDW) データベースの "アプライアンス全体" でトランザクション ログのサイズを減らします。 トランザクション ログの圧縮するのには、データを最適化します。 時間の経過と共に、データベースのトランザクション ログは、断片化され非効率的になります。 断片化を軽減し、ログのサイズを小さくするには、DBCC SHRINKLOG を使用します。

Topic link iconTransact-SQL 構文表記規則 (Transact-SQL)

構文

DBCC SHRINKLOG   
    [ ( SIZE = { target_size [ MB | GB | TB ]  } | DEFAULT ) ]   
    [ WITH NO_INFOMSGS ]   
[;]  

引数

SIZE = { target_size [ MB | GB | TB ] } | DEFAULT.
target_size は、DBCC SHRINKLOG が完了した後、すべての計算ノード全体のトランザクション ログの望ましいサイズです。 0 より大きい整数です。
ログのサイズは、メガバイト (MB)、ギガバイト (GB)、またはテラバイト (TB) で測定されます。 すべてのコンピューティング ノードの上のトランザクション ログの合計サイズです。
既定では、DBCC SHRINKLOG によりトランザクション ログはデータベースのメタデータに格納されているログ サイズに縮小されます。 メタデータのログ サイズは、CREATE DATABASE (Azure Synapse Analytics) または ALTER DATABASE (Azure Synapse Analytics) の LOG_SIZE パラメーターによって決まります。 DBCC SHRINKLOG は、SIZE=DEFAULT が指定されている場合、または SIZE 句が省略されている場合、トランザクション ログのサイズを既定サイズに縮小します。

WITH NO_INFOMSGS
情報メッセージは、DBCC SHRINKLOG の結果に表示されません。

アクセス許可

ALTER SERVER STATE アクセス許可が必要です。

全般的な解説

DBCC SHRINKLOG では、データベースのメタデータに格納されているログのサイズは変更されません。 メタデータには引き続き CREATE DATABASE または ALTER DATABASE ステートメントで指定された LOG_SIZE パラメーターが含まれます。

A. トランザクション ログを CREATE DATABASE で指定された元のサイズに圧縮します。

Addresses データベースが作成されたとき、Addresses データベースのトランザクション ログは 100 MB に設定されたものとします。 つまり、Addresses の CREATE DATABASE ステートメントは LOG_SIZE = 100 MB に設定されていました。 ここでは、ログが 150 MB に増えたので、100 MB に戻すものとします。

次の各ステートメントでは、Addresses データベースのトランザクション ログを 100 MB の既定サイズに圧縮します。 100 MB にログを圧縮するとデータ損失が発生する場合、DBCC SHRINKLOG は、データが失われない、100 MB より大きい最小サイズにログを縮小します。

USE Addresses;  
DBCC SHRINKLOG ( SIZE = 100 MB );  
DBCC SHRINKLOG ( SIZE = DEFAULT );  
DBCC SHRINKLOG;