SQL Server Reporting Services (SSRS)

Cloud SQL supporta SQL Server Reporting Services (SSRS), che ti aiuta a creare, eseguire il deployment e gestire report impaginati.

Questa pagina fornisce i prerequisiti, la procedura di configurazione e le limitazioni per l'utilizzo di SSRS in Cloud SQL.

Prima di iniziare

Prima di utilizzare SSRS su Cloud SQL, devi disporre di quanto segue:

  • Un'istanza Cloud SQL per ospitare il database del server di report
  • Un host in cui installare ed eseguire SSRS. Può trattarsi di una VM Compute Engine o di un host che non utilizza Compute Engine. Per le istruzioni di installazione, vedi Installare SQL Server Reporting Services.
  • Un record Cloud DNS per assegnare un nome host all'istanza Cloud SQL. Puoi creare un nome host utilizzando una delle seguenti opzioni:

    • Cloud DNS: utilizza Cloud DNS per creare un nome host che rimandi alla tua istanza.
    • Zona DNS personalizzata: se gestisci la tua zona DNS, crea un record A che esegua il mapping del nome host preferito all'indirizzo IP dell'istanza.
    • Mapping del nome host locale: modifica il file hosts del sistema per creare un alias personalizzato per l'istanza.
  • Due accessi Cloud SQL esistenti, un accesso di configurazione e un accesso di servizio. Per creare un accesso, vedi gcloud sql users create.

Procedura

Per configurare SSRS in Cloud SQL, segui questi passaggi:

  1. Acquisisci una lease SSRS.
  2. Configura SSRS.
  3. Rilascia una lease SSRS.

Acquisisci una lease SSRS

SSRS richiede autorizzazioni elevate durante la configurazione. Per acquisire una lease SSRS per l'istanza, utilizza il seguente comando:

gcloud

Utilizza il seguente comando per acquisire una lease:

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 \

La tabella seguente descrive i parametri gcloud di questa operazione:

Parametro Descrizione Valori consentiti Valore predefinito
--setup-login Obbligatorio. L'accesso utilizzato per connettersi all'istanza durante la configurazione di SSRS. Questo è il primo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report. Deve essere un accesso SQL Server esistente, ad esempio sqlserver Nessuno
--service-login Obbligatorio. L'accesso SQL Server utilizzato dal server di report per connettersi al database del server di report durante la configurazione di SSRS. Questo è il secondo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report. Deve essere un accesso SQL Server esistente e deve essere diverso dall'accesso di configurazione. Nessuno.
--report-database Obbligatorio. Un nome di database di report esistente o nuovo sull'istanza. Nel nome del database di report non sono consentiti alcuni caratteri speciali, come spazi, parentesi, caratteri non inglesi. Nessuno
--duration Facoltativo. Il numero di ore durante le quali la lease SSRS è attiva e durante le quali puoi eseguire la configurazione di SSRS. Tra 1 e 12 ore. Ad esempio, 4h 5 ore

REST v1

Utilizzando l'API REST, puoi acquisire una lease SSRS su un'istanza. Per acquisire una lease SSRS, specifica quanto segue:
  • Due accessi SQL Server diversi, l'accesso di configurazione e l'accesso di servizio
  • Il nome del database di report
  • La durata durante la quale la lease è attiva

Solo il campo DURATION è facoltativo. Per ulteriori informazioni, vedi AcquireSsrsLeaseContext:

  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • SETUP_LOGIN: l'accesso SQL Server utilizzato per connettersi all'istanza SQL Server durante la configurazione di SSRS. Questo è il primo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report.
  • SERVICE_LOGIN: l'accesso SQL Server utilizzato dal server di report per connettersi al database del server di report durante la configurazione di SSRS. Questo è il secondo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report.
  • REPORT_DATABASE: un nome di database di report esistente o nuovo sull'istanza. Microsoft non consente l'utilizzo di alcuni caratteri speciali nel nome del database di report, come spazi, parentesi, caratteri non inglesi.
  • DURATION: (Facoltativo) Il numero di ore durante le quali la lease SSRS è attiva e durante le quali puoi eseguire la configurazione di SSRS. Tra 1 e 12 ore, ad esempio 4h.

Metodo HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLease

Corpo JSON della richiesta:

{
  "acquireSsrsLeaseContext": {
    "setupLogin": SETUP_LOGIN,
    "serviceLogin": SERVICE_LOGIN,
    "reportDatabase": REPORT_DATABASE,
    "duration": DURATION,
  }
}

REST v1beta4

Utilizzando l'API REST, puoi acquisire una lease SSRS su un'istanza. Per acquisire una lease SSRS, specifica quanto segue:
  • Due accessi SQL Server diversi, l'accesso di configurazione e l'accesso di servizio
  • Il nome del database di report
  • La durata durante la quale la lease è attiva

Solo il campo DURATION è facoltativo. Per ulteriori informazioni, vedi AcquireSsrsLeaseContext:

  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • SETUP_LOGIN: l'accesso SQL Server utilizzato per connettersi all'istanza SQL Server durante la configurazione di SSRS. Questo è il primo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report.
  • SERVICE_LOGIN: l'accesso SQL Server utilizzato dal server di report per connettersi al database del server di report durante la configurazione di SSRS. Questo è il secondo accesso richiesto in Report Server Configuration Manager quando si imposta un database del server di report.
  • REPORT_DATABASE: un nome di database di report esistente o nuovo sull'istanza. Microsoft non consente l'utilizzo di alcuni caratteri speciali nel nome del database di report, come spazi, parentesi, caratteri non inglesi.
  • DURATION: (Facoltativo) Il numero di ore durante le quali la lease SSRS è attiva e durante le quali puoi eseguire la configurazione di SSRS. Tra 1 e 12 ore, ad esempio 4h.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "acquireSsrsLeaseContext": {
    "setupLogin": SETUP_LOGIN,
    "serviceLogin": SERVICE_LOGIN,
    "reportDatabase": REPORT_DATABASE,
    "duration": DURATION,
  }
}

Configura SSRS

Per eseguire la configurazione di SSRS:

  1. Apri Reporting Services Configuration Manager sull'host in cui è installato SSRS.
  2. Connettiti all'istanza del server di report locale.
  3. Fai clic su Cambia database.
    1. Inserisci il nome host SQL Server creato in Cloud DNS e le credenziali di accesso SQL Server per l'accesso di configurazione utilizzato per la lease SSRS.
    2. Inserisci il nome di un nuovo database del server di report o di un database di report esistente utilizzato per la lease SSRS.
    3. Inserisci le credenziali di accesso SQL Server per l'accesso di servizio utilizzato per la lease SSRS.
    4. Fai clic su Avanti e completa l'ultimo passaggio.
  4. Se non è già impostato, configura l'URL del servizio web e l'URL del portale web. Il portale web dovrebbe essere caricato correttamente in pochi secondi.

Rilascia una lease SSRS

Puoi rilasciare una lease manualmente o attendere che scada automaticamente. Il rilascio della lease è necessario per ripristinare le autorizzazioni elevate necessarie per la configurazione e per consentire all'accesso di servizio di connettersi al database di report. L'accesso di servizio non può accedere al database di report finché la lease non scade o non viene rilasciata manualmente. Il seguente comando rilascia una lease SSRS.

gcloud

Utilizza il seguente comando per rilasciare una lease:

gcloud sql instances release-ssrs-lease INSTANCE_NAME \
--project=PROJECT_NAME

REST v1

Utilizzando l'API REST, puoi rilasciare una lease SSRS per un'istanza. Come mostrato nell'esempio di richiesta seguente, devi fornire solo il nome dell'istanza e l'ID progetto.

  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_NAME: il nome dell'istanza.

Metodo HTTP e URL:

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

REST v1beta4

Utilizzando l'API REST, puoi rilasciare una lease SSRS per un'istanza. Come mostrato nell'esempio di richiesta seguente, devi fornire solo il nome dell'istanza e l'ID progetto.

  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_NAME: il nome dell'istanza.

Metodo HTTP e URL:

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

Limitazioni

  • Non puoi ospitare o eseguire report SSRS da Cloud SQL.
  • Gli accessi Active Directory non sono supportati per la configurazione del database di report.
  • Il nome del database di report può contenere solo caratteri alfanumerici e trattini.
  • Devi acquisire una lease per modificare l'accesso utilizzato per connetterti al database di report tramite Report Server Configuration Manager.
  • Per un database elaborato da un accesso di servizio, le operazioni di importazione dei file SQL ed eliminazione del database replicato possono non riuscire tra il completamento della configurazione di SSRS e il rilascio della lease.
  • Devi eliminare e ricreare l'utente del database per l'accesso di servizio su un database di report importato. Questo perché l'utente esistente nel database importato non appartiene alla nuova istanza.
  • Quando aggiungi nuovi server di report per un deployment con scalabilità orizzontale in SSRS, devi acquisire e rilasciare la lease SSRS per ogni nuova VM Windows che ospita un server di report. Ogni istanza Cloud SQL richiede la configurazione del nuovo database di report utilizzando il database di report esistente.
  • Devi creare una nuova lease ogni volta che vuoi modificare le credenziali di accesso per il database del server di report in Report Server Configuration Manager.

Domande frequenti

Le sezioni seguenti ti aiutano a rispondere alle domande frequenti relative a SSRS.

Meccanismo di configurazione e lease

Le sezioni seguenti ti aiutano a rispondere alle domande sulla configurazione e sulla lease SSRS.

Come faccio a configurare SSRS con Cloud SQL?

Devi installare SSRS su un host Windows separato, ad esempio una VM Compute Engine. Quindi, configura SSRS in modo che utilizzi l'istanza Cloud SQL per i database ReportServer e ReportServerTempDB. La "lease SSRS" è una parte importante di questa procedura se gestisci la configurazione utilizzando Cloud SQL.

Che cos'è la lease SSRS e perché è necessaria?

La configurazione di SSRS richiede in genere le autorizzazioni sysadmin, che non vengono concesse agli utenti in Cloud SQL. Il meccanismo di lease concede temporaneamente le autorizzazioni elevate necessarie a un accesso SQL Server specificato, ad esempio --setup-login, per completare la configurazione del database.

Acquisisci una lease utilizzando gcloud sql instances acquire-ssrs-lease prima della configurazione e rilasciala in seguito con gcloud sql instances release-ssrs-lease. La lease ha una durata configurabile.

Autenticazione

La sezione seguente ti aiuta a rispondere alle domande sull'autenticazione.

No, devi utilizzare gli accessi SQL Server per i parametri --setup-login e --service-login quando acquisisci la lease e configuri il database del server di report. Gli accessi Windows non sono supportati per questa procedura di configurazione iniziale.

Sebbene la configurazione richieda accessi SQL, puoi potenzialmente utilizzare l'autenticazione di Windows per accedere ai report se l'istanza Cloud SQL e l'host SSRS sono entrambi uniti a uno dei seguenti tipi di dominio:

Limitazioni

La sezione seguente ti aiuta a rispondere alle domande relative a restrizioni o limitazioni.

Quali sono le limitazioni dell'utilizzo di SSRS con Cloud SQL?

  • Non sono presenti accessi Microsoft Active Directory per la fase di configurazione del database.
  • Il nome del database di report può contenere solo caratteri alfanumerici e trattini.
  • Devi acquisire una nuova lease se vuoi modificare le credenziali dell'account di servizio in un secondo momento.
  • I deployment con scalabilità orizzontale richiedono la procedura di lease per ogni nuovo host SSRS.
  • L'importazione dei database del server di report esistenti richiede passaggi manuali per rimappare l'utente dell'accesso di servizio.

Considerazioni sui prezzi

La sezione seguente ti aiuta a rispondere alle domande relative ai prezzi.

Quali sono i costi associati alle licenze?

  • Per l'istanza Cloud SQL è necessaria una licenza SQL Server.
  • Poiché SSRS esegue una macchina Windows separata, assicurati che il sistema operativo Windows e tutti i componenti SQL Server su quella macchina siano concessi in licenza correttamente. Secondo le norme di Microsoft, l'esecuzione di SSRS su un server separato potrebbe richiedere una licenza SQL Server aggiuntiva. In alternativa, Cloud SQL offre immagini SQL Server predefinite.

    Per ulteriori informazioni, vedi SQL Server su Google Cloud.

Automation

La sezione seguente ti aiuta a rispondere alle domande relative all'automazione.

È possibile automatizzare la procedura di installazione e configurazione dell'host SSRS?

Puoi eseguire operazioni per acquisire e rilasciare la lease SSRS in Cloud SQL utilizzando gcloud CLI o le API REST.

L'installazione e la configurazione di SSRS nell'ambiente Windows in genere comportano passaggi manuali tramite l'interfaccia di Reporting Services Configuration Manager, il che rende più difficile l'automazione end-to-end completa.

Per ulteriori informazioni, vedi Installare e configurare SSRS.

Manutenzione

La sezione seguente ti aiuta a rispondere alle domande relative alla manutenzione.

Quali sono le potenziali attività di gestione e manutenzione associate all'utilizzo di SSRS?

Prima di iniziare, tieni presente il sovraccarico di gestione continuo associato al server SSRS separato. Sei responsabile della gestione, dell'applicazione di patch e della protezione della VM Windows che esegue il servizio SSRS. Cloud SQL gestisce solo l'istanza del database.