SQL Server Reporting Services (SSRS)

Cloud SQL 支援 SQL Server Reporting Services (SSRS),可協助您建立、部署及管理分頁報表。

本頁面說明在 Cloud SQL 中使用 SRS 的必要條件、設定程序和限制。

事前準備

在 Cloud SQL 上使用 SSRS 前,您必須具備下列項目:

  • 用於代管報表伺服器資料庫的 Cloud SQL 執行個體
  • 用來安裝及執行 SSRS 的主機。可以是 Compute Engine VM,也可以是未使用 Compute Engine 的主機。如需安裝操作說明,請參閱「安裝 SQL Server Reporting Services」。
  • 用於為 Cloud SQL 執行個體指派主機名稱的 Cloud DNS 記錄。您可以使用下列任一選項建立主機名稱:

    • Cloud DNS:使用 Cloud DNS 建立指向執行個體的主機名稱。
    • 自訂 DNS 區域:如果您自行管理 DNS 區域,請建立 A 記錄,將您偏好的主機名稱對應至執行個體的 IP 位址。
    • 本機主機名稱對應:修改系統的 hosts 檔案,為執行個體建立自訂別名。
  • 兩個現有的 Cloud SQL 登入帳戶:設定登入帳戶和服務登入帳戶。如要建立登入帳戶,請參閱 gcloud sql users create

    如果您想使用 Windows 驗證,則必須使用受管理的 Active Directory 加入 SQL Server 執行個體和執行 SSRS 的主機。詳情請參閱「透過 Cloud SQL 使用代管的 Microsoft AD」。

程序

如要在 Cloud SQL 中設定 SSRS,請執行下列步驟:

  1. 取得 SSRS 租用權
  2. 設定 SSRS
  3. 釋出 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 登入資訊。這是在設定報表伺服器資料庫時,報表伺服器設定管理工具要求的第二次登入。 這必須是現有的 SQL Server 登入資訊,且不得與設定登入資訊相同。
--report-database 這是必要旗標,執行個體中現有或新的報表資料庫名稱。 報表資料庫名稱不得包含特定特殊字元,例如空格、方括號、非英文字元。
--duration (非必要) SSRS 租用權有效時數,在此期間可執行 SSRS 設定。 介於 1 至 12 小時之間。例如 4h 5 小時

REST v1

您可以使用 REST API,在執行個體上取得 SSRS 租用權。如要取得 SSRS 租用權,請指定下列項目:
  • 兩個不同的 SQL Server 登入,即設定登入和服務登入
  • 報表資料庫名稱
  • 租約有效期

只有 DURATION 欄位為選填欄位。詳情請參閱 AcquireSsrsLeaseContext

  • PROJECT_ID:專案 ID。
  • INSTANCE_NAME:執行個體的名稱。
  • SETUP_LOGIN:在 SSRS 設定期間,用於連線至 SQL Server 執行個體的 SQL Server 登入資訊。設定報表伺服器資料庫時,Report Server Configuration Manager 會要求第一次登入。
  • SERVICE_LOGIN:報表伺服器在 SSRS 設定期間用來連線至報表伺服器資料庫的 SQL Server 登入資訊。這是在設定報表伺服器資料庫時,報表伺服器設定管理工具要求的第二次登入。
  • REPORT_DATABASE:執行個體上現有或新的報表資料庫名稱。Microsoft 不允許在報表資料庫名稱中使用特定特殊字元,例如空格、括號、非英文字元。
  • DURATION:選用。SSRS 租用權有效時數,在此期間可執行 SSRS 設定。例如 1 到 12 小時,4h

HTTP 方法和網址:

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 租用,請指定下列項目:
  • 兩個不同的 SQL Server 登入,即設定登入和服務登入
  • 報表資料庫名稱
  • 租約有效期

只有 DURATION 欄位為選填欄位。詳情請參閱 AcquireSsrsLeaseContext

  • PROJECT_ID:專案 ID。
  • INSTANCE_NAME:執行個體的名稱。
  • SETUP_LOGIN:在 SSRS 設定期間,用於連線至 SQL Server 執行個體的 SQL Server 登入資訊。設定報表伺服器資料庫時,Report Server Configuration Manager 會要求第一次登入。
  • SERVICE_LOGIN:報表伺服器在 SSRS 設定期間用來連線至報表伺服器資料庫的 SQL Server 登入資訊。這是在設定報表伺服器資料庫時,報表伺服器設定管理工具要求的第二次登入。
  • REPORT_DATABASE:執行個體上現有或新的報表資料庫名稱。Microsoft 不允許在報表資料庫名稱中使用特定特殊字元,例如空格、括號、非英文字元。
  • DURATION:選用。SSRS 租用權有效時數,在此期間可執行 SSRS 設定。例如 1 到 12 小時,4h

HTTP 方法和網址:

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,請按照下列步驟操作:

  1. 在安裝 SSRS 的主機上開啟 Reporting Services 設定管理工具。
  2. 連線至本機報表伺服器執行個體。
  3. 按一下「變更資料庫」
    1. 輸入在 Cloud DNS 中建立的 SQL Server 主機名稱,以及 SSRS 租用權所用的 SQL Server 登入憑證。
    2. 輸入新報表伺服器資料庫或現有報表資料庫的名稱,用於 SSRS 租用。
    3. 輸入 SSRS 租用權所使用的服務登入帳戶 SQL Server 登入憑證。
    4. 按一下「下一步」,完成最後一個步驟。
  4. 如果尚未設定,請設定網路服務網址網路入口網址。網路入口網站應會在幾秒內成功載入。

釋出 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 方法和網址:

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 方法和網址:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease

限制

  • 報表資料庫不支援 Active Directory 登入。
  • 報表資料庫名稱只能包含英數字元和連字號。
  • 您必須取得租用權,才能透過報表伺服器設定管理工具,變更用於連線至報表資料庫的登入資訊。
  • 如果資料庫是由服務登入程序處理,在 SSRS 設定完成並釋出租約之間,匯入 SQL 檔案和刪除複製的資料庫作業可能會失敗。
  • 您必須刪除匯入報表資料庫的資料庫使用者,然後重新建立服務登入資料庫。這是因為匯入資料庫中的現有使用者不屬於新執行個體。
  • 在 SSRS 中為向外擴充部署新增報表伺服器時,您必須為每個代管報表伺服器的新 Windows VM 取得及釋出 SSRS 租用權。每個 Cloud SQL 執行個體都必須使用現有的報表資料庫,設定新的報表資料庫。
  • 每次在報表伺服器設定管理工具中變更報表伺服器資料庫的登入憑證時,都必須建立新的租用期。