Serviços de geração de relatórios do SQL Server (SSRS, na sigla em inglês)

O Cloud SQL é compatível com o SQL Server Reporting Services (SSRS), que ajuda a criar, implantar e gerenciar relatórios paginados.

Nesta página, apresentamos 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, você precisa ter o seguinte:

  • Uma instância do Cloud SQL para hospedar o banco de dados do servidor de relatórios
  • Um host em que você instala e executa o SSRS. Ele pode ser uma VM do Compute Engine ou um host que não usa o Compute Engine. Para instruções de instalação, consulte Instalar o SQL Server Reporting Services.
  • Um registro do Cloud DNS para atribuir um nome do host à instância do Cloud SQL. É possível criar um nome do host usando uma das seguintes opções:

    • Cloud DNS: use o Cloud DNS para criar um nome de host que aponte para sua instância.
    • Zona de DNS personalizada: se você gerencia sua própria zona de DNS, crie um registro A que mapeie o nome de host preferido para o endereço IP da instância.
    • Mapeamento do nome do host local: modifique o arquivo hosts do sistema para criar um alias personalizado para sua instância.
  • Dois logins atuais do Cloud SQL, um de configuração e outro de serviço. Para criar um login, consulte gcloud sql users create.

    Se você quiser usar a autenticação do Windows, use o Managed Active Directory para mesclar a instância do SQL Server e o host que executa o SSRS. Para mais informações, consulte Usar o Microsoft AD gerenciado com o Cloud SQL.

Procedimento

Para configurar o SSRS no Cloud SQL, execute as seguintes etapas:

  1. Adquirir uma concessão do SSRS.
  2. Configurar a SSRS.
  3. Liberar uma concessão do SSRS.

Adquirir uma concessão do SSRS

O SSRS requer permissões elevadas durante a configuração. Use o seguinte comando para adquirir uma concessão SSRS da sua instância:

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 a seguir descreve os parâmetros de gcloud dessa operação:

Parâmetro Descrição Valores permitidos Valor padrão
--setup-login Obrigatório. O login usado para se conectar à instância durante a configuração do SSRS. Esse é o primeiro login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios. Precisa ser um login do SQL Server, como sqlserver Nenhum
--service-login Obrigatório. O login do SQL Server usado pelo servidor de relatórios para se conectar ao banco de dados do servidor de relatórios durante a configuração do SSRS. Esse é o segundo login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios. Precisa ser um login do SQL Server e diferente do login de configuração. Nenhuma.
--report-database Obrigatório. Um nome de banco de dados de relatórios atual ou novo na instância. Não é permitido usar determinados caracteres especiais no nome do banco de dados de relatórios, como espaços, colchetes e caracteres que não estejam em inglês. Nenhum
--duration Opcional. O número de horas em que o lease de SSRS está ativo durante as quais é possível executar a configuração de SSRS. Entre 1 e 12 horas. Por exemplo, 4h. 5 horas

REST v1

Usando a API REST, é possível adquirir uma concessão SSRS em uma instância. Para adquirir uma concessão do SSRS, especifique o seguinte:
  • Dois logins diferentes do SQL Server, o de configuração e o de serviço
  • O nome do banco de dados de relatórios
  • A duração do contrato de arrendamento

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 login do SQL Server usado para se conectar à instância do SQL Server durante a configuração do SSRS. Esse é o primeiro login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios.
  • SERVICE_LOGIN: o login do SQL Server usado pelo servidor de relatórios para se conectar ao banco de dados do servidor de relatórios durante a configuração do SSRS. Esse é o segundo login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios.
  • REPORT_DATABASE: um nome de banco de dados de relatórios atual ou novo na instância. A Microsoft não permite determinados caracteres especiais no nome do banco de dados de relatórios, como espaços, colchetes e caracteres que não estejam em inglês.
  • DURATION: opcional. O número de horas em que o lease de SSRS está ativo durante as quais é possível executar a configuração de 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 da solicitação:

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

REST v1beta4

Usando a API REST, é possível adquirir uma concessão SSRS em uma instância. Para adquirir uma concessão do SSRS, especifique o seguinte:
  • Dois logins diferentes do SQL Server, o de configuração e o de serviço
  • O nome do banco de dados de relatórios
  • A duração do contrato de arrendamento

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 login do SQL Server usado para se conectar à instância do SQL Server durante a configuração do SSRS. Esse é o primeiro login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios.
  • SERVICE_LOGIN: o login do SQL Server usado pelo servidor de relatórios para se conectar ao banco de dados do servidor de relatórios durante a configuração do SSRS. Esse é o segundo login solicitado no Gerenciador de configuração do servidor de relatórios ao definir um banco de dados do servidor de relatórios.
  • REPORT_DATABASE: um nome de banco de dados de relatórios atual ou novo na instância. A Microsoft não permite determinados caracteres especiais no nome do banco de dados de relatórios, como espaços, colchetes e caracteres que não estejam em inglês.
  • DURATION: opcional. O número de horas em que o lease de SSRS está ativo durante as quais é possível executar a configuração de 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 da solicitação:

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

Configurar SSRS

Para configurar a SSRS, siga estas etapas:

  1. Abra o Gerenciador de configuração dos serviços de relatórios no host em que o SSRS está instalado.
  2. Conecte-se à sua instância local do servidor de relatórios.
  3. Clique em Alterar banco de dados.
    1. Informe o nome do host do SQL Server criado no Cloud DNS e as credenciais de login do SQL Server para o login de configuração usado para a concessão do SSRS.
    2. Insira o nome de um novo banco de dados de servidor de relatórios ou um banco de dados de relatórios existente usado para a concessão de SSRS.
    3. Digite as credenciais de login do SQL Server para o login de serviço usado para a concessão do SSRS.
    4. Clique em Próxima e conclua a última etapa.
  4. Configure o URL do serviço da Web e o URL do portal da Web, caso ainda não tenham sido definidos. O portal da Web será carregado em alguns segundos.

Liberar uma concessão de SSRS

É possível liberar uma concessão manualmente ou esperar até que ela expire automaticamente. É necessário liberar a concessão para reverter as permissões elevadas necessárias para a configuração e permitir que o login do serviço se conecte ao banco de dados do relatório. O login do serviço não pode acessar o banco de dados de relatórios até que a concessão expire ou seja liberada manualmente. O comando a seguir libera uma concessão SSRS.

gcloud

Use o seguinte comando para liberar uma concessão:

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

REST v1

Com a API REST, é possível liberar uma concessão SSRS para uma instância. Conforme mostrado no exemplo de solicitação a seguir, você só precisa informar 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

Com a API REST, é possível liberar uma concessão SSRS para uma instância. Conforme mostrado no exemplo de solicitação a seguir, você só precisa informar 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 logins do Active Directory não são compatíveis para configurar o banco de dados de relatórios.
  • O nome do banco de dados do relatório pode conter apenas caracteres alfanuméricos e hífens.
  • É necessário adquirir uma concessão para alterar o login usado para se conectar ao banco de dados de relatórios pelo Gerenciador de configuração do servidor de relatórios.
  • Para um banco de dados processado por um login de serviço, as operações de importação de arquivos sql e exclusão de banco de dados replicados podem falhar entre a conclusão da configuração do SSRS e o lançamento da concessão.
  • Exclua e recrie o usuário do banco de dados para o login de serviço em um banco de dados de relatórios importados. Isso ocorre porque o usuário atual no banco de dados importado não pertence à nova instância.
  • Ao adicionar novos servidores de relatórios para uma implantação de escalonamento horizontal no SSRS, você precisa adquirir e liberar a concessão do SSRS para cada nova VM do Windows que hospeda um servidor de relatórios. Cada instância do Cloud SQL exige que você configure o novo banco de dados de relatórios usando o banco de dados de relatórios atual.
  • É preciso criar uma nova concessão sempre que você quiser alterar as credenciais de login do banco de dados do servidor de relatórios no Gerenciador de configuração do servidor de relatórios.