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 cual instalar y ejecutar 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 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 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 nombres de host locales: Modifica el archivo hosts de tu sistema para 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 credenciales de acceso, consulta gcloud sql users create.

    Si quieres 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. Cómo liberar una asignación de tiempo de SSRS

Adquiere una asignación de tiempo de SSRS

SSRS requiere permisos elevados durante la configuración. A fin de 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 de gcloud de esta operación:

Parámetro Descripción Valores permitidos Valor predeterminado
--setup-login Obligatorio. El acceso que se usa 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 existente de SQL Server, como sqlserver. Ninguno
--service-login Obligatorio. El acceso 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 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. No se permiten ciertos caracteres especiales en el nombre de la base de datos del informe, como espacios, corchetes y caracteres que no sean del inglés. Ninguno
--duration Opcional. Es la cantidad de horas durante las que la asignación de tiempo de SSRS está activa y en las que 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 a SQL Server, el acceso de configuración y el acceso de servicio
  • El nombre de la base de datos del informe
  • La duración durante la cual el arrendamiento está activo

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 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: Es 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: Es un nombre de base de datos de informes existente o nuevo 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 estén en inglés.
  • DURATION: Opcional Es la cantidad de horas durante las que la asignación de tiempo de SSRS está activa y en las que 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 a SQL Server, el acceso de configuración y el acceso de servicio
  • El nombre de la base de datos del informe
  • La duración durante la cual el arrendamiento está activo

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 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: Es 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: Es un nombre de base de datos de informes existente o nuevo 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 estén en inglés.
  • DURATION: Opcional Es la cantidad de horas durante las que la asignación de tiempo de SSRS está activa y en las que 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. Abre el Administrador 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. Ingresa el nombre de host de SQL Server creado en Cloud DNS y las credenciales de acceso de SQL Server para el acceso a la configuración que se usa en la asignación de tiempo de SSRS.
    2. Ingresa el nombre de una nueva base de datos del servidor de informes o de la 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 al servicio que se usa para la asignación de tiempo de SSRS.
    4. Haz clic en Siguiente y completa el último paso.
  4. Si aún no está configurada, configura la URL del servicio web y la URL del portal web. El portal web debería cargarse correctamente en unos segundos.

Cómo liberar una asignación de tiempo de SSRS

Puedes liberar una asignación de tiempo de forma manual o esperar hasta que venza automáticamente la asignación. Se debe 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 del informe. El acceso al servicio no puede acceder a la base de datos de informes hasta que venza 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 de informes 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 que se procesa con un acceso de servicio, las operaciones de importación de archivos SQL y eliminación de bases de datos replicadas pueden fallar entre la finalización de la configuración de SSRS y la liberación de la asignación de tiempo.
  • Debes borrar y volver a crear el usuario de la base de datos para el acceso al 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 nuevos servidores de informes para una implementación de escalamiento horizontal en SSRS, debes adquirir y lanzar 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 de la base de datos del servidor de informes en el Administrador de configuración del servidor de informes.