ApsaraDB RDS for SQL Server では、T-SQL ステートメントを記述することなく、ApsaraDB RDS コンソールから直接データベースレベルの属性を表示および変更できる GUI ベースのインターフェイスを提供しています。基本設定の構成、ランタイムメトリックの確認、スナップショット分離、遅延耐久性、高速データベース回復などの高度なオプションの調整が可能です。また、手動でデータベースのトランザクションログを縮小したり、データベース統計情報を更新したりして、パフォーマンスを最適化し、クエリ効率を向上させることができます。
データベース属性とその SQL Server での対応項目の完全なリストについては、Microsoft のドキュメントにある「sys.databases (Transact-SQL)」をご参照ください。
前提条件
ApsaraDB RDS for SQL Server インスタンスにデータベースを作成済みです。
属性の表示または変更
注意事項
一部のデータベース属性を変更すると、データベースは一時的に排他モードに入ります。この期間中、システムはデータベースへのすべての接続を閉じ、既存のトランザクションをロールバックして、変更を有効にします。データベースに負荷がかかっている場合、変更が失敗する可能性があります。業務中断を防ぐため、属性の変更はピーク時以外の時間帯に実行することを推奨します。
データベースが排他モードに入ると、1 人のユーザーまたは 1 つのプロセスのみがデータベースにアクセスおよび管理できます。他のユーザーまたはプロセスは、そのデータベースに対するすべての操作が完了した後にのみアクセス可能になります。
操作手順
インスタンスページに移動します。上部ナビゲーションバーで、RDS インスタンスが存在するリージョンを選択し、該当の RDS インスタンスを検索して、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、データベース管理 をクリックします。
-
管理対象のデータベースを検索し、操作 列で 詳細を見る をクリックします。
説明データベースの属性の詳細については、「付録: データベースの属性」または「sys.databases (Transact-SQL)」をご参照ください。

-
Allowed Values 列で属性値を変更し、送信する をクリックします。

データベーストランザクションログの縮小
トランザクションログファイルには、時間の経過とともに未使用領域が蓄積されることがあります。以下の条件を満たす場合、ディスク領域を回収するためにデータベーストランザクションログを縮小できます。
-
トランザクションログファイルが割り当てられたストレージのうち、ごく一部しか使用していない場合。LogUsedSizeInMB(トランザクションログファイルの使用領域)と TotalLogSizeInMB(トランザクションログファイルに割り当てられた合計領域)の値を比較して評価します。
-
データベースの
log_reuse_wait_desc属性が Nothing に設定されている場合。これは、トランザクションログの再利用を妨げる保留中の操作がないことを意味します。
操作手順
インスタンスページに移動します。上部ナビゲーションバーで、RDS インスタンスが存在するリージョンを選択し、該当の RDS インスタンスを検索して、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、データベース管理 をクリックします。
-
操作 列で、さらに表示 > データベースイベントログの縮小 を選択します。
-
表示されたメッセージで、[OK] をクリックします。
データベース統計情報の更新
データベース内のデータ量やデータ分布は時間とともに変化します。クエリ オプテマイザーが正確かつ効率的な実行計画を生成するためには、定期的にデータベース統計情報を更新する必要があります。
使用するタイミング
以下のシナリオでは、手動でデータベース統計情報を更新することを検討してください。
-
メジャーバージョンアップグレード後:新しいエンジンバージョンでは、新しいデータの型、ストレージエンジン、クエリ オプテマイザーが導入される場合があります。元のデータベース統計情報は不正確または利用不可になる可能性があるため、新しいエンジン向けにデータ分布を調整するために統計情報を更新します。
-
自己管理データベースをクラウドに移行後:環境の変化により、最適なクエリパフォーマンスとクエリプラン生成のために統計情報をリフレッシュする必要があります。
-
自動統計情報更新が不十分な場合:以下のような状況が考えられます。
-
業務データの分布が不均等である。
-
多数の DELETE 操作または UPDATE 操作を実行しているが、変更されたデータ量がテーブル全体の 20 % に満たないため、自動更新のしきい値がトリガーされない。
-
SQL Server の自動統計情報更新機能がワークロードパターンに適合しなくなっている。
-
デフォルトでは、SQL Server は統計情報の自動更新を有効にしています。ただし、自動更新の頻度がデータが変更される速度よりも低くなる場合があり、その結果、クエリのパフォーマンスが低下する可能性があります。詳細については、「統計情報」を Microsoft ドキュメントでご参照ください。
注意事項
データベース統計情報の更新は、I/O 負荷を大きく引き起こす可能性があります。サービス中断を防ぐため、この操作はピーク時以外の時間帯に実行することを推奨します。
操作手順
インスタンスページに移動します。上部ナビゲーションバーで、RDS インスタンスが存在するリージョンを選択し、該当の RDS インスタンスを検索して、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、データベース管理 をクリックします。
-
操作 列で、さらに表示 > データベース統計情報の更新 をクリックします。
-
表示されたメッセージで、[OK] をクリックします。
付録:データベース属性
基本情報
| 属性 | 説明 | デフォルト値 |
|---|---|---|
page_verify |
データベースのページレベル検証方法。各データページのチェックサムを使用して整合性を検証します。 |
CHECKSUM |
target_recovery_time_in_seconds |
データベースの目標回復時間(秒単位)。 | 60 |
compatibility_level |
データベースの互換性レベル。T-SQL 機能の動作を決定します。有効な値:
|
- |
parameterization |
SQL クエリのパラメーター化動作。SIMPLE:定数パラメーターを含むシンプルなクエリのみをパラメーター化します。FORCED:すべてのクエリに対して強制的にパラメーター化を行います。 | SIMPLE |
read_committed_snapshot |
READ COMMITTED 分離レベルで行バージョン管理を使用するかどうかを指定します。OFF:READ COMMITTED 分離レベルで読み取りロックを使用します。ON:READ COMMITTED SNAPSHOT ISOLATION を有効にします。同時実行の読み取り操作が許可され、書き込み操作によってブロックされません。 | OFF |
collation_name |
データベースの照合順序および文字コード。詳細については、「システムデータベースの照合順序およびタイムゾーンの変更」をご参照ください。 | - |
auto_close |
ユーザーが接続していない場合にデータベースを自動的に閉じるかどうかを指定します。OFF に設定すると、データベースは開いたままになります。 | OFF |
recovery_model_desc |
データベースの復元モード。フルリカバリを有効にし、ポイントインタイムリストアをサポートします。 | FULL |
auto_update_statistics |
自動統計情報更新を有効にするかどうかを指定します。有効な値:ON、OFF。 | ON |
auto_update_statistics_async |
統計情報を非同期で更新するかどうかを指定します。OFF:統計情報を同期的に更新します。クエリは統計情報の更新が完了するまで待機します。ON:統計情報を非同期で更新します。クエリは既存の統計情報を使用して実行を進め、更新はバックグラウンドで実行されます。 | OFF |
allow_snapshot_isolation |
SNAPSHOT 分離レベルを有効にするかどうかを指定します。有効な値:OFF、ON。 | OFF |
state_desc |
データベースの現在のステータス。ONLINE の値は、データベースがオンラインで利用可能であることを示します。 | - |
create_date |
データベースの作成日時。 | - |
log_reuse_wait_desc |
トランザクションログを再利用できない理由。NOTHING の値は、ログの再利用を妨げる条件が存在しないことを示します。 | - |
ランタイム情報
| 属性 | 説明 | 単位 |
|---|---|---|
TotalDataSizeInMB |
データベースのデータファイルに割り当てられた合計領域。 | MB |
DataUsedSizeInMB |
データベースのデータファイルが使用している領域。 | MB |
TotalLogSizeInMB |
データベースのトランザクションログファイルに割り当てられた合計領域。 | MB |
LogUsedSizeInMB |
データベースのトランザクションログファイルが使用している領域。 | MB |
VLFCount |
データベース内の仮想ログファイル (VLF) の数。 | - |
LastestBackupTime |
データベースの最新バックアップの日時。 | - |
LastestBackupType |
最新のデータベースバックアップのタイプ。有効な値:D(フルバックアップ)、I(差分バックアップ)、L(ログバックアップ)。 | - |
高度な情報
| 属性 | 説明 | デフォルト値 |
|---|---|---|
accelerated_database_recovery |
高速データベース回復 (ADR) を有効にするかどうかを指定します。ADR はバージョン管理ストレージと論理的ロールバックを使用して、ほぼ即時のデータベース回復を実現し、再起動や障害によるダウンタイムを大幅に削減します。ADR は、長時間トランザクションを頻繁に処理し、高可用性を必要とするオンライントランザクション処理 (OLTP) システムに適しています。有効な値:OFF、ON。 説明
この機能は、SQL Server 2019 以降を実行する Standard Edition および Enterprise Edition インスタンスでのみサポートされています。ADR を有効にすると、長時間トランザクションを含むシナリオでの回復時間が大幅に短縮され、システムの可用性が向上します。ただし、ストレージ使用量が増加し、わずかなパフォーマンスオーバーヘッドが発生します。 |
OFF |
ansi_nulls |
ANSI NULL 動作を有効にするかどうかを指定します。有効にすると、NULL との比較は常に TRUE または FALSE ではなく UNKNOWN を返します。有効な値:OFF、ON。 | OFF |
recursive_triggers |
トリガーの再帰的な発火を許可するかどうかを指定します。有効な値:OFF、ON。 | OFF |
delayed_durability |
遅延耐久性を有効にするかどうかを指定します。有効にすると、トランザクションはコミット後に非同期でトランザクションログに書き込まれ、トランザクションスループットが向上します。DISABLED:トランザクションは完全に耐久性があります。コミット後、データは可能な限り早くディスクに同期的に書き込まれます。ALLOWED:トランザクション単位で遅延耐久性を有効にします。個々のトランザクションがオプトインできます。FORCED:すべてのトランザクションが遅延耐久性を使用します。 重要
遅延耐久性 (ALLOWED または FORCED) を有効にすると、トランザクションログがディスクにフラッシュされる前にサーバーが障害を起こした場合、データ損失が発生する可能性があります。ワークロードに応じて、パフォーマンスと耐久性のトレードオフを評価してください。 |
DISABLED |
ansi_warnings |
ANSI 警告を有効にするかどうかを指定します。有効にすると、集計関数内の NULL 値やゼロ除算エラーなどの条件に対して警告が発生します。有効な値:OFF、ON。 | OFF |
ansi_null_default |
明示的な NULL または非 NULL 制約が指定されていない場合に、新しい列がデフォルトで NULL 値を許可するかどうかを指定します。有効な値:OFF、ON。 | OFF |
ansi_padding |
文字列列の ANSI パディングを有効にするかどうかを指定します。有効にすると、varchar 値の末尾スペースおよび varbinary 値の末尾ゼロが保持されます。有効な値:OFF、ON。 | OFF |
optimized_locking |
最適化ロックを有効にするかどうかを指定します。最適化ロックは、ロックメモリ消費量を削減し、同時実行トランザクション間のブロッキングを軽減します。有効な値:OFF、ON。 説明
この機能は、SQL Server 2022 以降を実行するインスタンスでのみサポートされています。 |
OFF |
db_owner |
データベースの所有者。データベース所有者は、データベースの削除、すべてのオブジェクトの変更、ユーザーアカウント権限の管理など、最高レベルの権限を持ちます。デフォルト値は通常、データベースを作成したアカウントです。所有者は、現在のインスタンス内の有効なユーザーアカウントである必要があります。 説明
|
- |
concat_null_yields_null |
値と NULL を連結した結果が NULL になるかどうかを指定します。有効にすると、NULL を含む文字列連結の結果はすべて NULL になります。有効な値:OFF、ON。 | OFF |
関連 API
ApsaraDB RDS for SQL Server データベースの属性は、ModifyDatabaseConfig API オペレーションを呼び出すことで変更できます。