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.

Perguntas frequentes

As seções a seguir ajudam a responder perguntas frequentes relacionadas ao SSRS.

Mecanismo de configuração e concessão

As seções a seguir ajudam a resolver dúvidas sobre configuração e concessão do SSRS.

Como faço para configurar o SSRS com o Cloud SQL?

É necessário instalar o SSRS em um host Windows separado, como uma VM do Compute Engine. Em seguida, configure o SSRS para usar sua instância do Cloud SQL nos bancos de dados ReportServer e ReportServerTempDB. O "lease do SSRS" é uma parte importante desse processo se você estiver gerenciando a configuração usando o Cloud SQL.

O que é o contrato de locação do SSRS e por que ele é necessário?

A configuração do SSRS normalmente exige permissões sysadmin, que não são concedidas aos usuários no Cloud SQL. O mecanismo de concessão temporariamente concede as permissões elevadas necessárias a um login especificado do SQL Server, por exemplo, --setup-login, para concluir a configuração do banco de dados.

Você adquire um lease usando gcloud sql instances acquire-ssrs-lease antes da configuração e o libera depois com gcloud sql instances release-ssrs-lease. O contrato tem uma duração configurável.

Autenticação

A seção a seguir ajuda a responder a perguntas sobre autenticação.

Não, você precisa usar logins do SQL Server para os parâmetros --setup-login e --service-login ao adquirir a concessão e configurar o banco de dados do servidor de relatórios. Os logins do Windows não são compatíveis com esse processo de configuração inicial.

Embora a configuração exija logins do SQL, é possível usar a autenticação do Windows para acessar relatórios se a instância do Cloud SQL e o host do SSRS estiverem associados a um dos seguintes tipos de domínio:

Restrições

A seção a seguir ajuda a responder a perguntas relacionadas a restrições ou limitações.

Quais são as limitações de usar o SSRS com o Cloud SQL?

  • Não há logins do Microsoft Active Directory para a fase de configuração do banco de dados.
  • O nome do banco de dados do relatório pode conter apenas caracteres alfanuméricos e hífens.
  • Você precisa adquirir um novo contrato de locação se quiser mudar as credenciais da conta de serviço depois.
  • As implantações de escalonamento horizontal exigem o processo de concessão para cada novo host do SSRS.
  • A importação de bancos de dados do servidor de relatórios exige etapas manuais para remapear o usuário de login do serviço.

Considerações de preço

A seção a seguir ajuda a abordar considerações de preços.

Quais são os custos associados ao licenciamento?

  • Uma licença do SQL Server é necessária para sua instância do Cloud SQL.
  • Como o SSRS executa uma máquina Windows separada, verifique se o SO Windows e todos os componentes do SQL Server nessa máquina estão devidamente licenciados. De acordo com as políticas da Microsoft, executar o SSRS em um servidor separado pode exigir uma licença adicional do SQL Server.

Automação

A seção a seguir ajuda a responder a perguntas relacionadas à automação.

É possível automatizar o processo de instalação e configuração do host do SSRS?

É possível executar operações para adquirir e liberar o lease do SSRS no Cloud SQL usando a gcloud CLI ou as APIs REST.

A instalação e configuração do SSRS no ambiente Windows envolve etapas manuais na interface do Reporting Services Configuration Manager, o que dificulta a automação completa de ponta a ponta.

Para mais informações, consulte Instalar e configurar o SSRS.

Manutenção

A seção a seguir ajuda a responder perguntas relacionadas à manutenção.

Quais são as possíveis atividades de gerenciamento e manutenção associadas ao uso do SSRS?

Antes de começar, considere a sobrecarga de gerenciamento contínuo associada ao servidor SSRS separado. Você é responsável por gerenciar, corrigir e proteger a VM do Windows que executa o serviço SSRS. O Cloud SQL gerencia apenas a instância do banco de dados.