Cloud SQL は、ページ分けされたレポートの作成、デプロイ、管理に役立つ SQL Server Reporting Services(SSRS)をサポートしています。
このページでは、Cloud SQL で SSRS を使用するための前提条件、設定手順、制限事項について説明します。
始める前に
Cloud SQL で SSRS を使用するには、次のものが必要です。
- レポート サーバー データベースをホストする Cloud SQL インスタンス
- SSRS をインストールして実行するホスト。Compute Engine VM でも、Compute Engine を使用しないホストでもかまいません。インストール手順については、SQL Server Reporting Services をインストールするをご覧ください。
Cloud SQL インスタンスのホスト名を割り当てる Cloud DNS レコード。ホスト名は、次のいずれかの方法で作成できます。
既存の 2 つの Cloud SQL ログイン(設定ログインとサービス ログイン)。ログインを作成するには、
gcloud sql users create
をご覧ください。Windows 認証を使用する場合は、マネージド Active Directory を使用して SQL Server インスタンスと SSRS を実行しているホストに参加する必要があります。詳細については、Cloud SQL でマネージド Microsoft AD を使用するをご覧ください。
手順
Cloud SQL で SSRS を設定するには、次の操作を行います。
SSRS リースを取得する
SSRS の設定中に、昇格された権限が必要になります。インスタンスの SSRS リースを取得するには、次のコマンドを使用します。
gcloud
リースを取得するには、次のコマンドを使用します。
gcloud sql instances acquire-ssrs-lease INSTANCE_NAME \ --project=PROJECT_NAME \ --setup-login=SETUP_LOGIN \ --service-login=SERVICE_LOGIN \ --report-database=REPORT_DATABASE \ --duration=DURATION \
次の表に、このオペレーションの gcloud
パラメータを示します。
パラメータ | 説明 | 使用できる値 | デフォルト値 |
--setup-login |
必須。SSRS の設定中にインスタンスに接続するために使用されるログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。 | 既存の SQL Server ログイン(sqlserver など)にする必要があります。 |
なし |
--service-login |
必須。SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。 | これは、既存の SQL Server ログインであり、設定ログインとは別のものにする必要があります。 | なし |
--report-database |
必須。インスタンス上の既存または新しいレポート データベース名。 | レポート データベースの名前に使用できない特殊文字があります(スペース、かっこ、英語以外の文字など)。 | なし |
--duration |
省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。 | 1~12 時間で設定できます。例: 4h |
5 時間 |
REST v1
REST API を使用すると、インスタンスの SSRS リースを取得できます。SSRS リースを取得するには、以下を指定します。- 2 つの異なる SQL Server ログイン(設定ログインとサービス ログイン)
- レポート データベース名
- リースの有効期間
DURATION
フィールドのみ省略可能です。詳細については、AcquireSsrsLeaseContext をご覧ください。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
- SETUP_LOGIN: SSRS の設定中に SQL Server インスタンスに接続するために使用される SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。
- SERVICE_LOGIN: SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。
- REPORT_DATABASE: インスタンスの既存または新しいレポート データベース名。レポート データベース名には、スペース、角かっこ、英語以外の文字など、特定の特殊文字を使用できません。
- DURATION: 省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。1~12 時間。例:
4h
。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLease
リクエストの本文(JSON):
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
REST v1beta4
REST API を使用すると、インスタンスの SSRS リースを取得できます。SSRS リースを取得するには、以下を指定します。- 2 つの異なる SQL Server ログイン(設定ログインとサービス ログイン)
- レポート データベース名
- リースの有効期間
DURATION
フィールドのみ省略可能です。詳細については、AcquireSsrsLeaseContext をご覧ください。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
- SETUP_LOGIN: SSRS の設定中に SQL Server インスタンスに接続するために使用される SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。
- SERVICE_LOGIN: SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。
- REPORT_DATABASE: インスタンスの既存または新しいレポート データベース名。レポート データベース名には、スペース、角かっこ、英語以外の文字など、特定の特殊文字を使用できません。
- DURATION: 省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。1~12 時間。例:
4h
。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLease
リクエストの本文(JSON):
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
SSRS を設定する
SSRS の設定手順は次のとおりです。
- SSRS がインストールされているホストでレポート サービスの構成マネージャーを開きます。
- ローカル レポート サーバー インスタンスに接続します。
- [Change Database] をクリックします。
- Cloud DNS で作成した SQL Server ホスト名と、SSRS リースに使用する設定ログイン用の SQL Server ログイン認証情報を入力します。
- SSRS リースに使用する新しいレポート サーバー データベースまたは既存のレポート データベースの名前を入力します。
- SSRS リースに使用するサービス ログイン用の SQL Server ログイン認証情報を入力します。
- [Next] をクリックして、最後のステップを完了します。
- まだ設定されていない場合は、ウェブサービスの URLウェブポータルの URLを構成します。ウェブポータルは数秒以内に正常に読み込まれます。
SSRS リースを解放する
リースを手動で解放することも、リースが期限切れになるまで待つこともできます。リースを解放すると、設定で使用するために昇格された権限が元に戻り、サービス ログインでレポート データベースに接続できるようになります。リースが期限切れになるか、手動で解放されるまで、サービス ログインはレポート データベースにアクセスできません。次のコマンドで SSRS リースを解放します。
gcloud
リースを解放するには、次のコマンドを使用します。
gcloud sql instances release-ssrs-lease INSTANCE_NAME \ --project=PROJECT_NAME
REST v1
REST API を使用すると、インスタンスの SSRS リースを解放できます。次のリクエストの例に示すように、インスタンス名とプロジェクト ID を指定する必要があります。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease
REST v1beta4
REST API を使用すると、インスタンスの SSRS リースを解放できます。次のリクエストの例に示すように、インスタンス名とプロジェクト ID を指定する必要があります。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease
制限事項
- レポート データベースの設定では、Active Directory ログインはサポートされていません。
- レポート データベース名に使用できるのは英数字とハイフンのみです。
- レポート サーバーの構成マネージャーからレポート データベースへの接続に使用するログイン情報を変更するには、リースを取得する必要があります。
- サービス ログインによって処理されるデータベースの場合、SSRS の設定が完了してからリースが解放されるまでの間に、sql ファイルのインポートと複製されたデータベースの削除オペレーションが失敗することがあります。
- インポートしたレポート データベースで、サービス ログイン用のデータベース ユーザーを削除して再作成する必要があります。これは、インポートされたデータベースの既存のユーザーが新しいインスタンスに属していないためです。
- SSRS でのスケールアウト デプロイ用に新しいレポート サーバーを追加する場合は、レポート サーバーをホストする新しい Windows VM ごとに SSRS リースを取得して解放する必要があります。各 Cloud SQL インスタンスでは、既存のレポート データベースを使用して新しいレポート データベースを構成する必要があります。
- レポート サーバーの構成マネージャーでレポート サーバー データベースのログイン認証情報を変更するたびに、新しいリースを作成する必要があります。