このページでは、Cloud SQL のデータベース フラグを構成する方法について説明し、インスタンスに設定できるフラグの一覧も示します。データベース フラグは、SQL Server パラメータの調整、オプションの調整、インスタンスの構成や調整など、多くの操作で使用します。
データベース インスタンスのフラグを設定、削除、変更すると、データベースが再起動される場合があります。その場合、フラグの値はフラグを削除するまでインスタンスに対して保持されます。インスタンスがレプリカのソースで、インスタンスが再起動されると、レプリカはインスタンスの現在の構成に合わせて再起動します。
データベース フラグを構成する
データベース フラグを設定する
コンソール
- Google Cloud コンソールで、データベース フラグを設定する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- 下方向にスクロールして [フラグ] セクションを表示します。
- それまでにインスタンスで設定したことのないフラグを設定するには、[項目を追加] をクリックし、プルダウン メニューからフラグを選択して、その値を設定します。
- [保存] をクリックして、変更を保存します。
- [概要] ページの [フラグ] で、変更を確認します。
gcloud
インスタンスを編集します。
gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2
このコマンドでは、以前に設定されたすべてのデータベース フラグが上書きされます。これらを保持し、新しいフラグを追加するには、インスタンスに設定するすべてのフラグの値を含めます。具体的に含まれていないフラグはデフォルト値に設定されます。値のないフラグについては、フラグ名の後に等号(=)を付けておきます。
たとえば、フラグ 1204
、remote access
、remote query timeout (s)
を設定するには、次のコマンドを使用します。
gcloud sql instances patch INSTANCE_NAME \ --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300
Terraform
データベース フラグを追加するには、Terraform リソースを使用します。
変更を適用する
Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
- Cloud Shell を起動します。
-
Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
-
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイル名の拡張子は
.tf
にする必要があります(例:main.tf
)。このチュートリアルでは、このファイルをmain.tf
とします。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した
main.tf
にサンプルコードをコピーします。必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
- 環境に適用するサンプル パラメータを確認し、変更します。
- 変更を保存します。
-
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
terraform init
最新バージョンの Google プロバイダを使用する場合は、
-upgrade
オプションを使用します。terraform init -upgrade
変更を適用する
-
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
- 次のコマンドを実行します。プロンプトで「
yes
」と入力して、Terraform 構成を適用します。terraform apply
Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。
- Google Cloud プロジェクトを開いて結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
変更を削除する
変更を削除するには、次の操作を行います。
- 削除の保護を無効にするには、Terraform 構成ファイルで
deletion_protection
引数をfalse
に設定します。deletion_protection = "false"
- 次のコマンドを実行します。プロンプトで「
yes
」と入力して、更新された Terraform 構成を適用します。terraform apply
-
以前に Terraform 構成で適用されたリソースを削除するために、次のコマンドを実行してプロンプトで「
yes
」と入力します。terraform destroy
REST v1
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH
コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
REST v1beta4
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [ { "name": "flag_name", "value": "flag_value" } ] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH
コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
すべてのフラグをデフォルト値にクリアする
コンソール
- Google Cloud コンソールで、すべてのフラグをクリアする Cloud SQL インスタンスが含まれているプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- [データベースのフラグ] セクションを開きます。
- 表示されているフラグの横にある X をクリックします。
- [保存] をクリックして、変更を保存します。
gcloud
インスタンスのすべてのフラグをデフォルト値にクリアします。
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
インスタンスを再起動する確認を求められます。
REST v1
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
REST v1beta4
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{ "settings": { "databaseFlags": [] } }
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
インスタンスに設定されているデータベース フラグを確認する
Cloud SQL インスタンスに対して設定されているフラグを確認するには:
コンソール
- Google Cloud コンソールで、設定されているデータベース フラグを確認する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを選択して、[インスタンスの概要] ページを開きます。
設定済みのデータベース フラグは、[データベースのフラグ] セクションに一覧表示されます。
gcloud
インスタンスの状態を取得します。
gcloud sql instances describe INSTANCE_NAME
出力では、データベース フラグは settings
の下にコレクション databaseFlags
として一覧表示されます。出力でのフラグの表示の詳細については、インスタンスのリソースの表示をご覧ください。
REST v1
インスタンスに構成されているフラグを一覧表示するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
出力で databaseFlags
フィールドを探します。
REST v1beta4
インスタンスに構成されているフラグを一覧表示するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
出力で databaseFlags
フィールドを探します。
サポートされているフラグ
以下に記載のないフラグはサポートされていません。
Cloud SQL フラグ | 型 有効な値と注意事項 |
再起動が 必要か |
---|---|---|
1204(トレースフラグ) | boolean on | off |
いいえ |
1222(トレースフラグ) | boolean on | off |
いいえ |
1224(トレースフラグ) | boolean on | off |
いいえ |
2528(トレースフラグ) | boolean on | off |
いいえ |
3205(トレースフラグ) | boolean on | off |
いいえ |
3226(トレースフラグ) | boolean on | off |
いいえ |
3625(トレースフラグ) | boolean on | off |
はい |
4199(トレースフラグ) | boolean on | off |
いいえ |
4616(トレースフラグ) | boolean on | off |
いいえ |
7806(トレースフラグ) | boolean on | off |
はい |
access check cache bucket count | integer 0 ... 65536 |
いいえ |
access check cache quota | integer 0 ... 2147483647 |
いいえ |
affinity mask | integer 2147483648 ... 2147483647 |
いいえ |
agent xps | boolean on | off |
いいえ |
automatic soft-numa disabled | boolean on | off |
はい |
cloudsql enable linked servers | boolean on | off |
いいえ |
cost threshold for parallelism | integer 0 ... 32767 |
いいえ |
contained database authentication | boolean on | off |
いいえ |
cross db ownership chaining | boolean on | off
|
いいえ |
cursor threshold | integer -1 ... 2147483647 |
いいえ |
default full-text language | integer 0 ... 2147483647 |
いいえ |
デフォルトの言語 | integer 0 ~32 |
いいえ |
default trace enabled | boolean on | off |
いいえ |
disallow results from triggers | boolean on | off |
いいえ |
external scripts enabled | boolean on | off |
はい |
ft crawl bandwidth (max) | integer 0 ... 32767 |
いいえ |
ft crawl bandwidth (min) | integer 0 ... 32767 |
いいえ |
ft notify bandwidth (max) | integer 0 ... 32767 |
いいえ |
ft notify bandwidth (min) | integer 0 ... 32767 |
いいえ |
fill factor (%) | integer 0 ... 100 |
いいえ |
index create memory (kb) | integer 704 ... 2147483647 |
いいえ |
locks | integer 5000 ... 2147483647 |
はい |
max server memory (mb) | integer 1000 ...2147483647
Cloud SQL では、Microsoft の推奨値に基づいて、インスタンスにこのフラグの値を設定できます。 |
いいえ |
max text repl size (b) | integer -1 ... 2147483647 |
いいえ |
max worker threads | integer 128 ... 65535 |
いいえ |
nested triggers | boolean on | off |
いいえ |
optimize for ad hoc workloads | boolean on | off |
いいえ |
ph timeout (s) | integer 1 ... 3600 |
いいえ |
query governor cost limit | integer 0 ... 2147483647 |
いいえ |
query wait (s) | integer -1 ... 2147483647 |
いいえ |
recovery interval (min) | integer 0 ... 32767 |
いいえ |
remote access | boolean on | off |
はい |
remote login timeout (s) | integer 0 ... 2147483647 |
いいえ |
remote query timeout (s) | integer 0 ... 2147483647 |
いいえ |
transform noise words | boolean on | off |
いいえ |
two digit year cutoff | integer 1753 ... 9999 |
いいえ |
user connections | integer 0 、10 ... 32767 |
はい |
user options | integer 0 ... 32767 |
いいえ |
トラブルシューティング
問題 | トラブルシューティング |
---|---|
Cloud SQL for SQL Server は、既存のインスタンスのタイムゾーンの変更をサポートしていません。 |
Cloud SQL では、SQL Server は新しいインスタンスのタイムゾーンの設定をサポートしていますが、既存のインスタンスのタイムゾーンは設定できません。 Cloud SQL for SQL Server では、時間変換などに |
次のステップ
- SQL Server の構成オプションについて学習します。