SQL Server Reporting Services (SSRS)

O Cloud SQL suporta os SQL Server Reporting Services (SSRS), que ajudam a criar, implementar e gerir relatórios paginados.

Esta página fornece os pré-requisitos, o procedimento de configuração e as limitações para usar o SSRS no Cloud SQL.

Antes de começar

Antes de usar o SSRS no Cloud SQL, tem de ter o seguinte:

  • Uma instância do Cloud SQL para alojar a base de dados do servidor de relatórios
  • Um anfitrião onde instala e executa o SSRS. Pode ser uma VM do Compute Engine ou um anfitrião que não usa o Compute Engine. Para ver instruções de instalação, consulte o artigo Instale os SQL Server Reporting Services.
  • Um registo do Cloud DNS para atribuir um nome de anfitrião à sua instância do Cloud SQL. Pode criar um nome de anfitrião através de uma das seguintes opções:

    • Cloud DNS: use o Cloud DNS para criar um nome de anfitrião que aponte para a sua instância.
    • Zona DNS personalizada: se gerir a sua própria zona DNS, crie um registo A que mapeie o seu nome do anfitrião preferencial para o endereço IP da sua instância.
    • Mapeamento do nome do anfitrião local: modifique o ficheiro hosts do seu sistema para criar um alias personalizado para a sua instância.
  • Dois inícios de sessão do Cloud SQL existentes, um início de sessão de configuração e um início de sessão de serviço. Para criar um início de sessão, consulte gcloud sql users create.

    Se quiser usar a autenticação do Windows, tem de usar o Managed Active Directory para associar a instância do SQL Server e o anfitrião que executa o SSRS. Para mais informações, consulte o artigo Use o Microsoft AD gerido com o Cloud SQL.

Procedimento

Para configurar o SSRS no Cloud SQL, siga estes passos:

  1. Adquira uma concessão SSRS.
  2. Configure o SSRS.
  3. Libertar uma concessão de SSRS.

Adquira uma concessão de SSRS

O SSRS requer autorizações elevadas durante a configuração. Para adquirir uma concessão de SSRS para a sua instância, use o seguinte comando:

gcloud

Use o seguinte comando para adquirir uma concessão:

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 \

A tabela seguinte descreve os parâmetros gcloud desta operação:

Parâmetro Descrição Valores permitidos Valor predefinido
--setup-login Obrigatório. O início de sessão usado para estabelecer ligação à instância durante a configuração do SSRS. Este é o primeiro início de sessão que é pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios. Tem de ser um início de sessão do SQL Server existente, como sqlserver Nenhum
--service-login Obrigatório. O início de sessão do SQL Server usado pelo servidor de relatórios para estabelecer ligação à base de dados do servidor de relatórios durante a configuração do SSRS. Este é o segundo início de sessão pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios. Tem de ser um início de sessão do SQL Server existente e tem de ser diferente do início de sessão de configuração. Nenhum.
--report-database Obrigatório. Um nome de base de dados de relatórios existente ou novo na instância. Determinados carateres especiais não são permitidos no nome da base de dados de relatórios, como espaços, parênteses e carateres não ingleses. Nenhum
--duration Opcional. O número de horas durante as quais a concessão do SSRS está ativa e durante as quais pode realizar a configuração do SSRS. Entre 1 e 12 horas. Por exemplo, 4h 5 horas

REST v1

Com a API REST, pode adquirir uma concessão SSRS numa instância. Para adquirir uma concessão de SSRS, especifique o seguinte:
  • Dois inícios de sessão diferentes do SQL Server: o início de sessão de configuração e o início de sessão de serviço
  • O nome da base de dados de relatórios
  • A duração durante a qual a concessão está ativa

Apenas o campo DURATION é opcional. Para mais informações, consulte AcquireSsrsLeaseContext:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • SETUP_LOGIN: o início de sessão do SQL Server usado para estabelecer ligação à instância do SQL Server durante a configuração do SSRS. Este é o primeiro início de sessão pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios.
  • SERVICE_LOGIN: o início de sessão do SQL Server usado pelo servidor de relatórios para estabelecer ligação à base de dados do servidor de relatórios durante a configuração do SSRS. Este é o segundo início de sessão pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios.
  • REPORT_DATABASE: um nome de base de dados de relatórios existente ou novo na instância. A Microsoft não permite determinados carateres especiais no nome da base de dados de relatórios, como espaços, parênteses e carateres que não sejam ingleses.
  • DURATION: opcional. O número de horas durante as quais a concessão do SSRS está ativa e durante as quais pode realizar a configuração do SSRS. Entre 1 e 12 horas, por exemplo, 4h.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

REST v1beta4

Com a API REST, pode adquirir uma concessão SSRS numa instância. Para adquirir uma concessão de SSRS, especifique o seguinte:
  • Dois inícios de sessão diferentes do SQL Server: o início de sessão de configuração e o início de sessão de serviço
  • O nome da base de dados de relatórios
  • A duração durante a qual a concessão está ativa

Apenas o campo DURATION é opcional. Para mais informações, consulte AcquireSsrsLeaseContext:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • SETUP_LOGIN: o início de sessão do SQL Server usado para estabelecer ligação à instância do SQL Server durante a configuração do SSRS. Este é o primeiro início de sessão pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios.
  • SERVICE_LOGIN: o início de sessão do SQL Server usado pelo servidor de relatórios para estabelecer ligação à base de dados do servidor de relatórios durante a configuração do SSRS. Este é o segundo início de sessão pedido no Gestor de configuração do servidor de relatórios quando define uma base de dados do servidor de relatórios.
  • REPORT_DATABASE: um nome de base de dados de relatórios existente ou novo na instância. A Microsoft não permite determinados carateres especiais no nome da base de dados de relatórios, como espaços, parênteses e carateres que não sejam ingleses.
  • DURATION: opcional. O número de horas durante as quais a concessão do SSRS está ativa e durante as quais pode realizar a configuração do SSRS. Entre 1 e 12 horas, por exemplo, 4h.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Configure o SSRS

Para fazer a configuração do SSRS, siga estes passos:

  1. Abra o Reporting Services Configuration Manager no anfitrião onde o SSRS está instalado.
  2. Ligue-se à sua instância local do servidor de relatórios.
  3. Clique em Alterar base de dados.
    1. Introduza o nome de anfitrião do SQL Server criado no Cloud DNS e as credenciais de início de sessão do SQL Server para o início de sessão de configuração usado para a concessão do SSRS.
    2. Introduza o nome de uma nova base de dados do servidor de relatórios ou de uma base de dados de relatórios existente usada para a concessão do SSRS.
    3. Introduza as credenciais de início de sessão do SQL Server para o início de sessão do serviço usado para a concessão do SSRS.
    4. Clique em Seguinte e conclua o último passo.
  4. Se ainda não estiver definido, configure o URL do serviço Web e o URL do portal Web. O portal Web deve ser carregado com êxito em alguns segundos.

Libertar uma concessão SSRS

Pode libertar uma atribuição manualmente ou aguardar até que expire automaticamente. A libertação da concessão é necessária para reverter quaisquer autorizações elevadas necessárias para a configuração e para permitir que o início de sessão do serviço se ligue à base de dados de relatórios. O início de sessão do serviço não pode aceder à base de dados de relatórios até que a concessão expire ou seja libertada manualmente. O seguinte comando liberta uma concessão de SSRS.

gcloud

Use o seguinte comando para libertar uma concessão:

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

REST v1

Através da API REST, pode libertar uma concessão SSRS para uma instância. Conforme mostrado no exemplo de pedido seguinte, só tem de indicar o nome da instância e o ID do projeto.

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.

Método HTTP e URL:

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

REST v1beta4

Através da API REST, pode libertar uma concessão SSRS para uma instância. Conforme mostrado no exemplo de pedido seguinte, só tem de indicar o nome da instância e o ID do projeto.

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.

Método HTTP e URL:

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

Limitações

  • Os inícios de sessão do Active Directory não são suportados para configurar a base de dados de relatórios.
  • O nome da base de dados de relatórios só pode conter carateres alfanuméricos e hífenes.
  • Tem de adquirir uma concessão para alterar o início de sessão usado para estabelecer ligação à base de dados de relatórios através do Gestor de configuração do servidor de relatórios.
  • Para uma base de dados processada por um início de sessão de serviço, as operações de importação de ficheiros SQL e eliminação de bases de dados replicadas podem falhar entre a conclusão da configuração do SSRS e a libertação da concessão.
  • Tem de eliminar e recriar o utilizador da base de dados para o início de sessão do serviço numa base de dados de relatórios importada. Isto deve-se ao facto de o utilizador existente na base de dados importada não pertencer à nova instância.
  • Quando adiciona novos servidores de relatórios para uma implementação de expansão horizontal no SSRS, tem de adquirir e libertar a concessão do SSRS para cada nova VM do Windows que aloja um servidor de relatórios. Cada instância do Cloud SQL requer que configure a nova base de dados de relatórios através da base de dados de relatórios existente.
  • Tem de criar uma nova concessão sempre que quiser alterar as credenciais de início de sessão para a base de dados do servidor de relatórios no Gestor de configuração do servidor de relatórios.