SQL Server Reporting Services (SSRS)

Cloud SQL es compatible con SQL Server Reporting Services (SSRS), que te ayuda a crear, implementar y administrar informes paginados.

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

Antes de comenzar

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 se instala y ejecuta SSRS. Puede ser una VM de Compute Engine o un host que no use Compute Engine. Para obtener instrucciones de instalación, consulta Instala SQL Server Reporting Services.
  • Un registro de Cloud DNS para asignar un nombre de host para tu instancia de Cloud SQL. Puedes crear un nombre de host mediante 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 administras tu propia zona DNS, crea un registro A que asigne tu nombre de host preferido a la dirección IP de tu instancia.
    • Asignación de nombre de host local: Modifica el archivo hosts de tu sistema a fin de crear un alias personalizado para tu instancia.
  • Dos accesos existentes de Cloud SQL, un acceso de configuración y un acceso de servicio. Para crear un acceso, consulta gcloud sql users create.

    Si deseas usar la autenticación de Windows, debes usar Active Directory administrado para unirte a la instancia de SQL Server y al host que ejecuta SSRS. Para obtener más información, consulta Usa Microsoft AD administrado con Cloud SQL.

Procedimiento

Para configurar SSRS en Cloud SQL, sigue estos pasos:

  1. Adquiere una asignación de tiempo de SSRS.
  2. Configura SSRS.
  3. Libera una asignación de tiempo de SSRS.

Adquiere una asignación de tiempo de SSRS

SSRS requiere permisos elevados durante la configuración. Si deseas adquirir una asignación de tiempo de SSRS para tu instancia, usa el siguiente comando:

gcloud

Usa el siguiente comando para adquirir una asignación de tiempo:

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 acceso usado para conectarse a la instancia durante la configuración de SSRS. Este es el primer acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes. Debe ser un acceso de SQL Server existente, como sqlserver Ninguna
--service-login Obligatorio. El acceso a 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 acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes. Debe ser un acceso existente de SQL Server y debe ser diferente del acceso de configuración. Ninguno
--report-database Obligatorio. Un nombre de base de datos de informes nuevo o existente en la instancia. Algunos caracteres especiales no están permitidos en el nombre de la base de datos del informe, como espacios, corchetes o caracteres que no son inglés. Ninguna
--duration Opcional. La cantidad de horas en que la asignación de tiempo de SSRS está activa 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 de REST, puedes adquirir una asignación de tiempo de SSRS en una instancia. Para adquirir una asignación de tiempo de SSRS, especifica lo siguiente:
  • Dos accesos diferentes de SQL Server, el acceso de configuración y el acceso al servicio
  • El nombre de la base de datos del informe
  • La duración durante la que está activa la asignación de tiempo

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

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: El nombre de la instancia.
  • SETUP_LOGIN: el acceso de SQL Server que se usa para conectarse a la instancia de SQL Server durante la configuración de SSRS. Este es el primer acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes.
  • SERVICE_LOGIN: El acceso a 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 acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes.
  • REPORT_DATABASE: un nombre de base de datos de informes nuevo o existente en la instancia. Microsoft no permite ciertos caracteres especiales en el nombre de la base de datos del informe, como espacios, corchetes o caracteres que no sean en inglés.
  • DURATION: Opcional La cantidad de horas en que la asignación de tiempo de SSRS está activa durante las cuales puedes realizar la configuración de SSRS. Entre 1 y 12 horas, por ejemplo, 4h.

HTTP method and 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 de REST, puedes adquirir una asignación de tiempo de SSRS en una instancia. Para adquirir una asignación de tiempo de SSRS, especifica lo siguiente:
  • Dos accesos diferentes de SQL Server, el acceso de configuración y el acceso al servicio
  • El nombre de la base de datos del informe
  • La duración durante la que está activa la asignación de tiempo

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

  • PROJECT_ID: el ID del proyecto.
  • INSTANCE_NAME: El nombre de la instancia.
  • SETUP_LOGIN: el acceso de SQL Server que se usa para conectarse a la instancia de SQL Server durante la configuración de SSRS. Este es el primer acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes.
  • SERVICE_LOGIN: El acceso a 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 acceso que se solicita en el Administrador de configuración del servidor de informes cuando se configura una base de datos del servidor de informes.
  • REPORT_DATABASE: un nombre de base de datos de informes nuevo o existente en la instancia. Microsoft no permite ciertos caracteres especiales en el nombre de la base de datos del informe, como espacios, corchetes o caracteres que no sean en inglés.
  • DURATION: Opcional La cantidad de horas en que la asignación de tiempo de SSRS está activa durante las cuales puedes realizar la configuración de SSRS. Entre 1 y 12 horas, por ejemplo, 4h.

HTTP method and 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,
  }
}

Configura SSRS

Para realizar la configuración de SSRS, sigue estos pasos:

  1. Abra el Administrador de configuración de servicios de informes en el host en el que está instalado SSRS.
  2. Conéctate a la instancia del servidor de informes local.
  3. Haz clic en Cambiar base de datos.
    1. Ingresa el nombre de host de SQL Server que se creó en Cloud DNS y las credenciales de acceso de SQL Server para el acceso de configuración que se usa en la asignación de tiempo de SSRS.
    2. Ingresa el nombre de una nueva base de datos de servidor de informes o de una base de datos de informes existente usada para la asignación de tiempo de SSRS.
    3. Ingresa las credenciales de acceso de SQL Server para el acceso del servicio que se usa en la asignación de tiempo de SSRS.
    4. Haz clic en Siguiente y finaliza el último paso.
  4. Si aún no están configuradas, configura la URL del servicio web y la URL del portal web. El portal web debería cargarse correctamente en unos segundos.

Libera una asignación de tiempo de SSRS

Puedes liberar una asignación de tiempo de forma manual o esperar hasta que venza automáticamente. Se requiere liberar la asignación de tiempo para revertir los permisos elevados necesarios para la configuración y permitir que el acceso al servicio se conecte a la base de datos de informes. El acceso al servicio no puede acceder a la base de datos de informes hasta que vence la asignación de tiempo o se libere de forma manual. El siguiente comando libera una asignación de tiempo de SSRS.

gcloud

Usa el siguiente comando para liberar una asignación de tiempo:

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

REST v1

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

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

HTTP method and URL:

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

REST v1beta4

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

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

HTTP method and URL:

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

Limitaciones

  • Los accesos de Active Directory no son compatibles con la configuración de la base de datos de informes.
  • El nombre de la base de datos del informe solo puede contener caracteres alfanuméricos y guiones.
  • Debes adquirir una asignación de tiempo para cambiar el acceso que se usa para conectarse a la base de datos de informes a través del Administrador de configuración del servidor de informes.
  • En el caso de una base de datos procesada mediante el acceso de un servicio, la importación de archivos sql y la eliminación de operaciones de bases de datos replicadas pueden fallar entre la finalización de la configuración de SSRS y la actualización de la asignación de tiempo.
  • Debes borrar y volver a crear el usuario de la base de datos para el acceso del servicio en una base de datos de informes importada. Esto se debe a que el usuario existente en la base de datos importada no pertenece a la instancia nueva.
  • Cuando agregas servidores de informes nuevos para una implementación de escalamiento horizontal en SSRS, debes adquirir y liberar la asignación de tiempo de SSRS para cada VM nueva de Windows que aloje un servidor de informes. Cada instancia de Cloud SQL requiere que configures la base de datos de informes nueva mediante la base de datos de informes existente.
  • Debes crear una asignación de tiempo nueva cada vez que quieras cambiar las credenciales de acceso para la base de datos del servidor de informes en el Administrador de configuración del servidor de informes.