DBインスタンスにインストールされたMicrosoft SQL Serverの設定を適用するために、RDS for MS-SQLはパラメータグループ機能を提供します。パラメータグループはMicrosoft SQL Serverを設定できるパラメータの集合です。
RDS for MS-SQLはサービスを有効化すると、基本パラメータグループdefault.paramter-gruopを提供し、基本パラメータグループは削除および変更ができません。
DBインスタンスは1つのパラメータグループを使用することができ、複数のDBインスタンスで同時に使用できます。
パラメータグループの状態は以下のような値で構成され、ユーザーの行為と現在の状態に基づいて変更されます。
| 状態 | 説明 |
|---|---|
| 適用完了 | パラメータグループに接続されたすべてのDBインスタンスが適用完了した状態 |
| 適用中 | パラメータグループがDBインスタンスに適用中の状態 |
| 適用必要 | パラメータグループが変更されたがDBインスタンスに適用されていない状態 |
パラメータグループは既存パラメータグループをコピーして新たに作成できます。コピーされたパラメータグループは原本パラメータグループのパラメータ値のみコピーし、関連性はありません。 パラメータグループの削除は該当パラメータグループを使用中のDBインスタンスがない時のみ可能で、使用中のDBインスタンスが存在すると削除できません。
パラメータは以下の情報を含んでいます。
固定と動的があります。固定の場合、パラメータ変更事項を適用するにはDBインスタンスを再起動する必要があります。動的の場合、DBインスタンスの再起動を行わなくてもすぐにパラメータが適用されます。特定パラメータ(例えばmax server memory (mb))などは固定された値を使用するよりはDBインスタンスに関連した値を利用した数式で表現する方が良い場合があります。これをサポートするためにnumericデータ形式については、あらかじめ定義された変数、数式および関数を使用できます。
(), +, -, *, /を使用できます。max(a, b, ...):複数の値の中から最も大きい値を返します。min(a, b, ...):複数の値の中から最も小さい値を返します。ramSizeByte:現在のDBインスタンスタイプのメモリサイズのバイト値を表します。storageSizeByte:現在のDBインスタンスストレージサイズのバイト値を表します。以下の例はmax server memory (mb)パラメータのデフォルト値で、DBインスタンスタイプのメモリサイズの3/4サイズに設定することを表します。
ramSizeByte * 3 / 4 / 1048576
ユーザーが作成したパラメータグループのみパラメータの変更が可能で、パラメータグループは既存パラメータグループをコピーして新たに作成できます。
パラメータグループ内のパラメータを変更する時、パラメータグループを使用するすべてのDBインスタンスに同時に適用されます。もしパラメータ変更時に該当パラメータグループを使用するDBインスタンスのうちどれか1つでも他の作業を進行中の場合はパラメータの変更はできません。
変更したパラメータの適用タイプが固定の場合は、DBインスタンスが再起動します。
DBインスタンスに適用失敗する場合は、後で変更されたパラメータを適用できます。
パラメータ適用タイプは動的と固定があります。
動的パラメータは変更した際、再起動しなくてもすぐに適用されます。
固定パラメータは再起動後に適用され、固定パラメータが1つでも変更されるとDBインスタンス詳細画面に再起動待機中と表示されます。
パラメータ変更時、データベースに接続できない状態の場合、データベースが再起動されることがあります。 接続不可状態のDBインスタンスパラメータを変更しようとすると失敗する可能性があります。正常に完了しなかった場合、自動的に管理者に報告され、 NHN Cloudから別途連絡いたします。
パラメータグループの変更が反映されていないDBインスタンスのパラメータを最新の状態にできます。 パラメータの変更と同じように行われますが、変更されたパラメータの適用を押したDBインスタンスのみ適用されます。