SQL Server Reporting Services (SSRS)

Cloud SQL admite SQL Server Reporting Services (SSRS), que te ayuda a crear, implementar y gestionar informes paginados.

En esta página se describen los requisitos previos, el procedimiento de configuración y las limitaciones para usar SSRS en Cloud SQL.

Antes de empezar

Antes de usar SSRS en Cloud SQL, debes tener lo siguiente:

  • Una instancia de Cloud SQL para alojar la base de datos del servidor de informes
  • Un host en el que instalar y ejecutar SSRS. Puede ser una VM de Compute Engine o un host que no use Compute Engine. Para ver las instrucciones de instalación, consulta Instalar SQL Server Reporting Services.
  • Un registro de Cloud DNS para asignar un nombre de host a tu instancia de Cloud SQL. Puedes crear un nombre de host con una de las siguientes opciones:

    • Cloud DNS: usa Cloud DNS para crear un nombre de host que apunte a tu instancia.
    • Zona DNS personalizada: si gestionas tu propia zona DNS, crea un registro A que asigne el nombre de host que prefieras a la dirección IP de tu instancia.
    • Asignación de nombre de host local: modifica el archivo hosts de tu sistema para crear un alias personalizado para tu instancia.
  • Dos inicios de sesión de Cloud SQL: uno de configuración y otro de servicio. Para crear un inicio de sesión, consulta gcloud sql users create.

    Si quieres usar la autenticación de Windows, debes usar Managed Active Directory para unir la instancia de SQL Server y el host que ejecuta SSRS. Para obtener más información, consulta el artículo Usar Microsoft AD gestionado con Cloud SQL.

Procedimiento

Para configurar SSRS en Cloud SQL, sigue estos pasos:

  1. Adquirir un arrendamiento de SSRS.
  2. Configurar SSRS.
  3. Liberar una concesión de SSRS.

Adquirir un arrendamiento de SSRS

SSRS requiere permisos elevados durante la configuración. Para obtener un arrendamiento de SSRS para tu instancia, usa el siguiente comando:

gcloud

Usa el siguiente comando para adquirir un arrendamiento:

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 \

En la siguiente tabla se describen los parámetros gcloud de esta operación:

Parámetro Descripción Valores permitidos Valor predeterminado
--setup-login Obligatorio. El inicio de sesión que se usa para conectarse a la instancia durante la configuración de SSRS. Este es el primer inicio de sesión que se solicita en el Administrador de configuración de Reporting Services al configurar una base de datos del servidor de informes. Debe ser un inicio de sesión de SQL Server, como sqlserver. Ninguno
--service-login Obligatorio. El inicio de sesión de SQL Server que usa el servidor de informes para conectarse a la base de datos del servidor de informes durante la configuración de SSRS. Es el segundo inicio de sesión que se solicita en el Gestor de configuración de Reporting Services al definir una base de datos de servidor de informes. Debe ser un inicio de sesión de SQL Server y debe ser diferente del inicio de sesión de configuración. Ninguno
--report-database Obligatorio. Nombre de una base de datos de informes nueva o ya creada en la instancia. No se permiten determinados caracteres especiales en el nombre de la base de datos de informes, como espacios, corchetes o caracteres que no sean ingleses. Ninguno
--duration Opcional. Número de horas durante las que está activa la concesión de SSRS y durante las cuales puedes realizar la configuración de SSRS. Entre 1 y 12 horas. Por ejemplo, 4h 5 horas

REST v1

Con la API REST, puedes obtener un arrendamiento de SSRS en una instancia. Para obtener un arrendamiento de SSRS, especifica lo siguiente:
  • Dos inicios de sesión de SQL Server diferentes: el de configuración y el de servicio
  • Nombre de la base de datos de informes
  • La duración durante la que está activa la concesión.

Solo el campo DURATION es opcional. Para obtener más información, consulta AcquireSsrsLeaseContext:

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: el nombre de la instancia.
  • SETUP_LOGIN: el inicio de sesión de SQL Server que se usa para conectarse a la instancia de SQL Server durante la configuración de SSRS. Este es el primer inicio de sesión que se solicita en el Administrador de configuración de Report Server al configurar una base de datos de servidor de informes.
  • SERVICE_LOGIN: el inicio de sesión de SQL Server que usa el servidor de informes para conectarse a la base de datos del servidor de informes durante la configuración de SSRS. Este es el segundo inicio de sesión que se solicita en el Gestor de configuración de Report Server al definir una base de datos de Report Server.
  • REPORT_DATABASE: el nombre de una base de datos de informes nueva o ya creada en la instancia. Microsoft no permite usar determinados caracteres especiales en el nombre de la base de datos de informes, como espacios, corchetes o caracteres que no sean ingleses.
  • DURATION: opcional. Número de horas durante las que está activa la concesión de SSRS y durante las cuales puedes realizar la configuración de SSRS. Entre 1 y 12 horas, por ejemplo, 4h.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

REST v1beta4

Con la API REST, puedes obtener un arrendamiento de SSRS en una instancia. Para obtener un arrendamiento de SSRS, especifica lo siguiente:
  • Dos inicios de sesión de SQL Server diferentes: el de configuración y el de servicio
  • Nombre de la base de datos de informes
  • La duración durante la que está activa la concesión.

Solo el campo DURATION es opcional. Para obtener más información, consulta AcquireSsrsLeaseContext:

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: el nombre de la instancia.
  • SETUP_LOGIN: el inicio de sesión de SQL Server que se usa para conectarse a la instancia de SQL Server durante la configuración de SSRS. Este es el primer inicio de sesión que se solicita en el Administrador de configuración de Report Server al configurar una base de datos de servidor de informes.
  • SERVICE_LOGIN: el inicio de sesión de SQL Server que usa el servidor de informes para conectarse a la base de datos del servidor de informes durante la configuración de SSRS. Este es el segundo inicio de sesión que se solicita en el Gestor de configuración de Report Server al definir una base de datos de Report Server.
  • REPORT_DATABASE: el nombre de una base de datos de informes nueva o ya creada en la instancia. Microsoft no permite usar determinados caracteres especiales en el nombre de la base de datos de informes, como espacios, corchetes o caracteres que no sean ingleses.
  • DURATION: opcional. Número de horas durante las que está activa la concesión de SSRS y durante las cuales puedes realizar la configuración de SSRS. Entre 1 y 12 horas, por ejemplo, 4h.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Configurar SSRS

Para configurar SSRS, sigue estos pasos:

  1. Abre el Gestor de configuración de Reporting Services en el host en el que está instalado SSRS.
  2. Conéctate a tu instancia local del servidor de informes.
  3. Haz clic en Cambiar base de datos.
    1. Introduce el nombre de host de SQL Server creado en Cloud DNS y las credenciales de inicio de sesión de SQL Server para el inicio de sesión de configuración que se usa en el arrendamiento de SSRS.
    2. Introduzca el nombre de una base de datos de servidor de informes nueva o de una base de datos de informes que ya se use para la concesión de SSRS.
    3. Introduce las credenciales de inicio de sesión de SQL Server para el inicio de sesión del servicio que se usa en el alquiler de SSRS.
    4. Haz clic en Siguiente y completa el último paso.
  4. Si aún no lo has hecho, configura la URL del servicio web y la URL del portal web. El portal web debería cargarse correctamente en unos segundos.

Liberar una concesión de SSRS

Puedes liberar una concesión manualmente o esperar a que caduque automáticamente. Es necesario liberar el arrendamiento para revertir los permisos elevados necesarios para la configuración y permitir que el inicio de sesión del servicio se conecte a la base de datos de informes. El inicio de sesión del servicio no puede acceder a la base de datos de informes hasta que caduque el arrendamiento o se libere manualmente. El siguiente comando libera un arrendamiento de SSRS.

gcloud

Usa el siguiente comando para liberar un arrendamiento:

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

REST v1

Con la API REST, puedes liberar una concesión de SSRS de una instancia. Como se muestra en el siguiente ejemplo de solicitud, solo tiene que proporcionar el nombre de la instancia y el ID del proyecto.

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: el nombre de la instancia.

Método HTTP y URL:

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

REST v1beta4

Con la API REST, puedes liberar una concesión de SSRS de una instancia. Como se muestra en el siguiente ejemplo de solicitud, solo tiene que proporcionar el nombre de la instancia y el ID del proyecto.

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: el nombre de la instancia.

Método HTTP y URL:

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

Limitaciones

  • No se admiten inicios de sesión de Active Directory para configurar la base de datos de informes.
  • El nombre de la base de datos de informes solo puede contener caracteres alfanuméricos y guiones.
  • Debe obtener una concesión para cambiar el inicio de sesión que se usa para conectarse a la base de datos de informes a través de Administrador de configuración de Reporting Services.
  • En el caso de una base de datos procesada por un inicio de sesión de servicio, las operaciones de importación de archivos SQL y de eliminación de bases de datos replicadas pueden fallar entre la finalización de la configuración de SSRS y la liberación del arrendamiento.
  • Debes eliminar y volver a crear el usuario de la base de datos para el inicio de sesión del servicio en una base de datos de informes importada. Esto se debe a que el usuario de la base de datos importada no pertenece a la nueva instancia.
  • Cuando añadas nuevos servidores de informes para una implementación de escalado horizontal en SSRS, debes adquirir y liberar el contrato de SSRS para cada nueva máquina virtual de Windows que aloje un servidor de informes. Cada instancia de Cloud SQL requiere que configures la nueva base de datos de informes usando la base de datos de informes actual.
  • Debe crear un nuevo contrato de arrendamiento cada vez que quiera cambiar las credenciales de inicio de sesión de la base de datos del servidor de informes en el Administrador de configuración del servidor de informes.

Preguntas frecuentes

En las siguientes secciones se responden a las preguntas frecuentes relacionadas con SSRS.

Mecanismo de configuración y arrendamiento

En las siguientes secciones se responden preguntas sobre la configuración y el alquiler de SSRS.

¿Cómo configuro SSRS con Cloud SQL?

Debes instalar SSRS en un host de Windows independiente, como una máquina virtual de Compute Engine. A continuación, configura SSRS para que use tu instancia de Cloud SQL en las bases de datos ReportServer y ReportServerTempDB. El "contrato de SSRS" es una parte importante de este proceso si gestionas la configuración con Cloud SQL.

¿Qué es el alquiler de SSRS y por qué es necesario?

La configuración de SSRS normalmente requiere permisos de sysadmin, que no se conceden a los usuarios de Cloud SQL. El mecanismo de concesión otorga temporalmente los permisos elevados necesarios a un inicio de sesión de SQL Server específico, por ejemplo, --setup-login, para completar la configuración de la base de datos.

Adquieres una concesión con gcloud sql instances acquire-ssrs-lease antes de la configuración y la liberas después con gcloud sql instances release-ssrs-lease. El alquiler tiene una duración configurable.

Autenticación

En la siguiente sección se responden preguntas sobre la autenticación.

No, debes usar los inicios de sesión de SQL Server para los parámetros --setup-login y --service-login al adquirir la concesión y configurar la base de datos del servidor de informes. No se admiten inicios de sesión de Windows en este proceso de configuración inicial.

Aunque la configuración requiere inicios de sesión de SQL, puedes usar la autenticación de Windows para acceder a los informes si tu instancia de Cloud SQL y el host de SSRS están unidos a uno de los siguientes tipos de dominio:

Restricciones

En la siguiente sección se responden preguntas relacionadas con restricciones o limitaciones.

¿Cuáles son las limitaciones de usar SSRS con Cloud SQL?

  • No hay ningún inicio de sesión de Microsoft Active Directory para la fase de configuración de la base de datos.
  • El nombre de la base de datos de informes solo puede contener caracteres alfanuméricos y guiones.
  • Debes obtener un nuevo contrato de arrendamiento si quieres cambiar las credenciales de la cuenta de servicio más adelante.
  • Las implementaciones de escalado horizontal requieren el proceso de concesión para cada nuevo host de SSRS.
  • Para importar bases de datos de servidores de informes, es necesario seguir una serie de pasos manuales para reasignar el usuario de inicio de sesión del servicio.

Consideraciones sobre los precios

En la siguiente sección se abordan las consideraciones sobre los precios.

¿Qué costes conlleva la obtención de licencias?

  • Se necesita una licencia de SQL Server para tu instancia de Cloud SQL.
  • Como SSRS se ejecuta en un equipo Windows independiente, asegúrate de que el SO Windows y los componentes de SQL Server de ese equipo tengan la licencia adecuada. Según las políticas de Microsoft, ejecutar SSRS en un servidor independiente puede requerir una licencia de SQL Server adicional.

Automatización

En la siguiente sección se responden preguntas relacionadas con la automatización.

¿Puede automatizar el proceso de instalación y configuración del host de SSRS?

Puedes ejecutar operaciones para adquirir y liberar el bloqueo de SSRS en Cloud SQL mediante la CLI de gcloud o las APIs REST.

La instalación y la configuración de SSRS en el entorno de Windows suelen implicar pasos manuales a través de la interfaz de Reporting Services Configuration Manager, lo que dificulta la automatización completa de extremo a extremo.

Para obtener más información, consulta Instalar y configurar SSRS.

Mantenimiento

En la siguiente sección se responden preguntas relacionadas con el mantenimiento.

¿Qué actividades de gestión y mantenimiento se pueden llevar a cabo al usar SSRS?

Antes de empezar, ten en cuenta la sobrecarga de gestión continua asociada al servidor SSRS independiente. Eres responsable de gestionar, parchear y proteger la VM de Windows que ejecuta el servicio SSRS. Cloud SQL solo gestiona la instancia de base de datos.