Cloud SQL for SQL Server のエラー メッセージ

このページでは、Cloud SQL で表示されるエラー メッセージについて説明します。

概要

Cloud SQL のエラー メッセージはさまざまな原因で発生し、さまざまな場所に表示されます。エラー メッセージには、データベース エンジン自体、Cloud SQL サービス、クライアント アプリケーション、Cloud SQL Admin API の呼び出しから返されるものがあります。

このページでは、Cloud SQL でよく発生するエラーの一部をご紹介します。ここで探しているエラーコードやメッセージが見つからない場合は、次の元リファレンス資料をご覧ください。

表示されているエラー メッセージの参照資料が見つからない場合は、関連する経験のある他のユーザーの投稿を以下の場所で検索することもできます。

オペレーションのエラー メッセージ

不正なリクエスト

エラー メッセージ HTTP Error 400 Bad Request が表示されます。

次のような問題が考えられます

不正なリクエストにはさまざまな原因があります。最も一般的な原因の 1 つは無効な引数です。この場合、リクエストで間違った引数を使用しているか、引数の値が無効です。他の多くの原因については、エラー メッセージに有用なヒントが含まれている場合があります。

次の方法をお試しください

引数が無効な場合は、各引数が許容されるもので、引数の各値が有効であることを確認します。他のすべての原因については、ログファイルをチェックして、詳細情報を確認してください。


ユーザーのアクセスが拒否された

エラー メッセージ Access denied for user 'XXX'@'XXX' (using password: XXX) が表示されます。

次のような問題が考えられます

次のようないくつかの原因が考えられます。

  • ユーザー名(またはパスワード)が正しくない。
  • ユーザーが @XXX 以外の URL から接続している。
  • ユーザーが、接続しようとしているデータベースに対する適切な権限を持っていない。

次の方法をお試しください

  • ユーザー名と対応するパスワードを確認します。
  • 接続元をチェックして、ユーザーがアクセス権を持っている URL と一致しているかどうかを確認します。
  • データベース内のユーザーの権限をチェックします。

ディスクに空きがない

エラー メッセージ Disk is full が表示されるか、ディスク容量が不足しています。

次のような問題が考えられます

レプリカの作成中にプライマリ インスタンスのディスクの空きがなくなる可能性があります。

次の方法をお試しください

プライマリ インスタンスを編集して、より大きなディスクサイズにアップグレードします。


アップグレード中の致命的なエラー

インスタンスのリソースをアップグレードすると、エラー メッセージ ERROR_INTERNAL_FATAL が表示されます。

次のような問題が考えられます

さまざまな原因が考えられます。

次の方法をお試しください

ログに詳細情報が表示される場合があります。それ以外の場合は、カスタマー サポートに連絡して、インスタンスを強制的に再作成してください。


HTTP エラー 409

エラー メッセージ HTTP Error 409 in a Terraform script または Error 409 Operation failed because another operation was already in progress が表示されます。

次のような問題が考えられます

  1. Terraform スクリプトをチェックします。このスクリプトでは、各オペレーションが完了するまで待ってから次のオペレーションを開始する必要があります。
  2. HTTP Error 409: Operation failed because another operation was already in progress
  3. 名前の再利用の待機期間が終了する前に、最近削除されたインスタンスと同じ名前を再利用しようとしています。

次の方法をお試しください

  1. Terraform スクリプトを実行する場合は、各インスタンスのオペレーションが完了するまで実行を停止します。スクリプトをポーリングして、前のオペレーション ID に対して 200 が返されるまで待ちます。それ以外の場合は、現在実行中のオペレーションが完了するまで待ちます。
  2. インスタンスを削除した後、新しいインスタンスに同じ名前を再利用できるようになるまで 1 週間待つ必要があります。

内部エラー

エラー メッセージ {"ResourceType":"sqladmin.v1beta4.instance", "ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null} が表示されます。

次のような問題が考えられます

サービス プロジェクトに、この機能に必要なサービス ネットワーキングのサービス アカウントがない可能性があります。

次の方法をお試しください

サービスの権限を修復するには、Service Networking API を無効にして、5 分待ってから再度有効にします。


ネットワークの関連付けに失敗した

エラー メッセージ Network association failed due to the following error: set Service Networking service account as servicenetworking.serviceAgent role on consumer project が表示されます。

次のような問題が考えられます

プロジェクトで Service Networking API が有効になっていません。

次の方法をお試しください

プロジェクトで Service Networking API を有効にします。Cloud SQL インスタンスにプライベート IP アドレスの割り当てを試行中で、共有 VPC を使用しているときにこのエラーが表示される場合は、ホスト プロジェクトに対して Service Networking API を有効にする必要もあります。


接続する権限がない

エラー メッセージ Unauthorized to connect が表示されます。

次のような問題が考えられます

承認はさまざまなレベルで行われるため、多くの原因が考えられます。

  • データベース レベルでは、データベース ユーザーが存在していて、パスワードが一致する必要があります。
  • プロジェクト レベルでは、ユーザーに serviceusage.services.use 権限や cloudsql.instances.connect 権限などの適切な IAM 権限がない可能性があります。
  • ネットワーク レベルでは、Cloud SQL インスタンスでパブリック IP を使用している場合、接続のソース IP が承認済みネットワーク内に存在している必要があります。

次の方法をお試しください

  • ユーザーが存在していて、パスワードが一致することを確認します。
  • ユーザー アカウントに Service Usage Consumer ロールを割り当てます。このロールには権限 serviceusage.services.use が含まれています。
  • パブリック IP を使用する場合は、送信元 IP が承認済みネットワークに存在していることを確認します。

割り当てを超過した

エラー メッセージ RESOURCE_EXHAUSTED: Quota exceeded または GLOBAL_ADDRESSES_QUOTA_EXCEEDED が表示されます。

次のような問題が考えられます

1 分あたりまたは 1 日あたりの割り当ての上限に達しました。Cloud SQL の割り当てと上限を確認します。

次の方法をお試しください

Google Cloud Console から割り当ての増加をリクエストします。


リクエストに有効な API キーがない

エラー メッセージ HTTP Error 403: PERMISSION_DENIED. The request is missing a valid API key が表示されます。

次のような問題が考えられます

有効なサービス アカウント キーの JSON ファイルがないか、想定されている場所に保存されていない可能性があります。

次の方法をお試しください

GOOGLE_APPLICATION_CREDENTIALS 環境変数に設定されている場所に有効なサービス アカウント キーの JSON ファイルがあること、変数が正しい場所を指していることを確認します。


システムエラーが発生した

エラー メッセージ [ERROR_RDBMS] system error occurred が表示されます。

次のような問題が考えられます

  1. ユーザーが必要なすべての Cloud Storage 権限を持っていない可能性があります。
  2. データベース テーブルが存在しない可能性があります。

次の方法をお試しください

  1. バケットに対して少なくとも WRITER 権限があり、エクスポート ファイルに対して READER 権限があることを確認してください。Cloud Storage のアクセス制御の構成について詳しくは、アクセス制御リストの作成と管理をご覧ください。
  2. テーブルが存在していることを確認します。テーブルが存在している場合は、ストレージ バケットに対して適切な権限があることを確認します。

表の定義が変更された

エラー メッセージ Table definition has changed, please retry transaction when dumping table が表示されます。

次のような問題が考えられます

エクスポート処理中にテーブルに対して変更が発生しました。

次の方法をお試しください

エクスポート オペレーション中に次のステートメントを使用すると、ダンプ トランザクションが失敗する可能性があります。

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE
これらのステートメントのいずれかをダンプ オペレーションから削除します。


一時ファイルサイズが temp_file_limit を超えた

エラー メッセージ Temporary file size exceeds temp_file_limit が表示されます。

次のような問題が考えられます

データベースの使用量に対して temp_file_limit フラグの値が小さすぎます。

次の方法をお試しください

temp_file_limit サイズを増やします。データベース フラグを構成するをご覧ください。


不明なエラー

エラー メッセージ Unknown error が表示されます。

次のような問題が考えられます

  1. データベースを Cloud Storage バケットにエクスポートしようとしたときにこのエラーが表示される場合、帯域幅の問題が原因で転送が失敗する可能性があります。
  2. 自動バックアップ中または手動バックアップ中にこのエラーが表示される場合は、インスタンスのディスクに空きがない可能性があります。
  3. 新しいインスタンスの作成中にこのエラーが表示される場合は、最近削除したインスタンスと同じ名前を使用しようとしている可能性があります。

次の方法をお試しください

  1. Cloud SQL インスタンスが Cloud Storage バケットとは異なるリージョンに存在している可能性があります。ある大陸から別の大陸へのデータの読み取りと書き込みではネットワークの使用量が多く、このような断続的な問題を引き起こす可能性があります。
  2. 一時ファイルのサイズが大きすぎる場合は、インスタンスを再起動してそのファイルを削除し、ディスクの空き容量を増やしてください。それ以外の場合は、インスタンスをより大きなディスクサイズにアップグレードする必要があります。
  3. Cloud Logging のログを調べて、実際のエラーを確認します。エラーが set Service Networking service account as servicenetworking.serviceAgent role on consumer project の場合は、Service Networking API を無効にしてから再度有効にします。 この措置で、プロセスを続行するために必要なサービス アカウントが作成されます。
  4. インスタンス名を削除した後、1 週間は再利用できません。