ApsaraDB RDSコンソールで、ApsaraDB RDS for SQL Serverインスタンスのさまざまな属性を表示または変更できます。 データベースのトランザクションログを手動で縮小し、データベースの統計を更新して、データベースのパフォーマンスを最適化し、クエリ効率を向上させることもできます。
前提条件
RDSインスタンスにデータベースが作成されます。 詳細については、「データベースの作成」をご参照ください。
属性の表示または変更
使用上の注意
データベースの特定の属性を変更すると、データベースは短時間で排他モードになります。 この場合、システムはデータベースへのすべての接続を閉じ、変更を有効にするために既存のトランザクションをロールバックします。 データベースの負荷が重い場合、変更は失敗する可能性があります。 業務の中断を防ぐために、オフピーク時に操作を実行することを推奨します。
データベースが排他モードに入ると、1人のユーザーまたはプロセスだけがデータベースにアクセスして管理できます。 他のユーザーまたはプロセスは、データベースに対するすべての操作が完了した後にのみ、データベースにアクセスまたは管理できます。
手順
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、[データベース管理] をクリックします。
管理するデータベースを見つけて、操作 列の 詳細を見る をクリックします。
説明データベース属性の詳細については、「付録: データベース属性」または「Microsoftドキュメント」をご参照ください。
Allowed Values 列で属性値を変更し、送信する をクリックします。
データベースのトランザクションログの縮小
シナリオ
データベースのトランザクションログファイルが、データベースのトランザクションログファイルを格納するために割り当てられたストレージ全体のわずかな量を占める場合、データベースのlog_reuse_wait_desc属性はNothingに設定されます。 この場合、データベースのトランザクションログを縮小して、データベースのディスク領域使用量を減らすことができます。 トランザクションログファイルが使用するストレージはLogUsedSizeInMBパラメーターで指定され、トランザクションログファイルを格納するために割り当てられるストレージの合計はTotalLogSizeInMBパラメーターで指定されます。
手順
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、[データベース管理] をクリックします。
操作 列で、さらに表示 > データベースイベントログの縮小 を選択します。
表示されたメッセージボックスで、[OK] をクリックします。
データベース統計の更新
データベース内のデータの量と分布は、特定の期間にわたって変化します。 クエリオプティマイザの精度とパフォーマンスを確保するには、データベース統計を定期的に更新する必要があります。
シナリオ
RDSインスタンスのメジャーエンジンバージョンをアップグレードすると、新しいエンジンバージョンでは新しいデータ型、ストレージエンジン、またはクエリオプティマイザが使用されます。 元のデータベース統計が不正確または利用できなくなる場合があります。 この場合、データベース統計を更新して、新しいデータベースエンジンのデータ分散を調整する必要があります。
自己管理データベースをクラウドに移行すると、環境が変化し、データベースのパフォーマンスを最適化する必要があります。 この場合、データベース統計を更新して、クエリのパフォーマンスを向上させ、クエリ計画を最適化できます。
ビジネスデータが不均等に分散されている場合、多数のDELETEまたはUPDATE操作を実行しますが、更新するデータ量が20% を超えない場合、またはSQL Serverの自動統計更新機能が適用されなくなった場合は、データベース統計を手動で更新してクエリのパフォーマンスを向上させることができます。
説明既定では、SQL Serverは自動統計更新を有効にします。 場合によっては、自動更新頻度は、データ変更頻度よりも低くてもよい。 これにより、クエリのパフォーマンスが低下します。 SQL Serverの自動統計更新機能の詳細については、「Microsoftドキュメント」をご参照ください。
使用上の注意
データベース統計の更新は、重いI/O負荷を引き起こす可能性があります。 サービスの中断を防ぐために、オフピーク時に操作を実行することを推奨します。
手順
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、[データベース管理] をクリックします。
操作 列の さらに表示 > データベース統計情報の更新 をクリックします。
表示されたメッセージボックスで、[OK] をクリックします。
付録: データベース属性
基本情報
属性 | 説明 |
page_verify | ページレベルのデータベース検証のレベル。 デフォルト値はCHECKSUMで、データページのチェックサムを検証に使用します。 |
target_recovery_time_in_seconds | データベースの回復に必要な時間。 単位は秒です。 デフォルト値: 0。 |
compatibility_level | データベースとデータベースエンジンのバージョン間の互換性のレベル。 有効な値:
|
パラメータ化 | SQL Serverのパラメーターの処理方法を指定します。 有効な値:
|
read_committed_snapshot | データの読み取り中にスナップショット分離機能を使用するかどうかを指定します。 有効な値:
|
collation_name | データベースの文字セットの照合順序と文字エンコーディング。 詳細については、「システムデータベースの文字セットの照合順序とタイムゾーンの変更」をご参照ください。 |
auto_close | データベース接続を自動的に閉じるかどうかを指定します。 デフォルト値: OFF。これは、システムがデータベース接続を自動的に閉じないことを示します。 |
recovery_model_desc | データベースの復旧モデル。 デフォルト値: FULL。完全復旧モデルを示します。 |
auto_update_statistics | 自動統計更新機能を有効にするかどうかを指定します。 有効な値:
|
auto_update_statistics_async | データベース統計を非同期で更新するかどうかを指定します。 有効な値:
|
allow_snapshot_isolation | スナップショット分離機能を有効にするかどうかを指定します。 有効な値:
|
state_desc | データベースのステータス。 値ONLINEは、データベースがオンラインであることを示します。 |
create_date | データベースが作成された時刻。 |
log_reuse_wait_desc | 現在のログファイルを再利用できない理由。 値NOTHINGは、制限が課されないことを示す。 |
ランタイム情報
属性 | 説明 |
TotalDataSizeInMB | データベースのデータファイルを格納するために割り当てられる総容量。 単位:MB。 |
DataUsedSizeInMB | データベースのデータファイルで使用されるスペース。 単位:MB。 |
TotalLogSizeInMB | データベースのログファイルを格納するために割り当てられる総容量。 単位:MB。 |
LogUsedSizeInMB | データベースのログファイルで使用されるスペース。 単位:MB。 |
VLFCount | データベースの仮想ログファイル (VLF) の数。 |
LastestBackupTime | データベースで最新のバックアップが実行された時刻。 |
LastestBackupType | 最新のバックアップのタイプ。 有効な値:
|
詳細情報
属性 | 説明 |
ansi_nulls | ANSI NULLSを有効にするかどうかを指定します。 ANSI NULLSを有効にすると、NULLまたはリテラルNULLの値は他の値と比較されず、未知の値と見なされます。 有効な値:
|
recursive_triggers | トリガーの再帰実行を許可するかどうかを指定します。 有効な値:
|
delayed_durability | 遅延耐久性機能を有効にするかどうかを指定します。 この機能を有効にすると、トランザクションのコミット後にデータがディスクに非同期に書き込まれます。 これにより、トランザクション処理のパフォーマンスが向上します。 有効な値:
|
ansi_warnings | ANSI警告機能を有効にするかどうかを指定します。 この機能を有効にした後、警告が発生する操作を実行すると、警告メッセージが返されます。 有効な値:
|
ansi_null_default | データ挿入時にNULL値を受け入れるかどうかを指定します。 有効な値:
|
ansi_padding | ANSIパディング機能を有効にするかどうかを指定します。 機能を有効にした後、長さが必要な最小長さを満たさない場合、パディング文字が使用されます。 有効な値:
|
concat_null_yields_null | NULL値を連結するときにNULLを返すかどうかを指定します。 この機能を有効にすると、NULL値を連結するときにNULLが返されます。 有効な値:
|