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 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: 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 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: 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.

Preguntas frecuentes

En las siguientes secciones, se abordan las preguntas frecuentes relacionadas con SSRS.

Mecanismo de configuración y arrendamiento

En las siguientes secciones, se abordan preguntas sobre la configuración y la asignación de tiempo de SSRS.

¿Cómo configuro SSRS con Cloud SQL?

Debes instalar SSRS en un host de Windows independiente, como una VM de Compute Engine. Luego, configura SSRS para que use tu instancia de Cloud SQL para las bases de datos ReportServer y ReportServerTempDB. El "arrendamiento de SSRS" es una parte importante de este proceso si administras la configuración con Cloud SQL.

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

Por lo general, la configuración de SSRS requiere permisos de sysadmin, que no se otorgan a los usuarios en Cloud SQL. El mecanismo de arrendamiento otorga temporalmente los permisos elevados necesarios a un acceso especificado de SQL Server, por ejemplo, --setup-login, para completar la configuración de la base de datos.

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

Autenticación

En la siguiente sección, se abordan preguntas sobre la autenticación.

No, debes usar los accesos de SQL Server para los parámetros --setup-login y --service-login cuando adquieras la asignación de tiempo y configures la base de datos del servidor de informes. Los accesos de Windows no son compatibles con este proceso de configuración inicial.

Si bien la configuración requiere accesos de SQL, es posible que puedas 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 abordan preguntas relacionadas con restricciones o limitaciones.

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

  • No hay accesos 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.
  • Si deseas cambiar las credenciales de la cuenta de servicio más adelante, debes adquirir un nuevo arrendamiento.
  • Las implementaciones de escalamiento horizontal requieren el proceso de asignación de tiempo para cada host nuevo de SSRS.
  • La importación de bases de datos de servidores de informes existentes requiere pasos manuales para volver a asignar el usuario de acceso al servicio.

Consideraciones sobre el precio

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

¿Cuáles son los costos asociados con las licencias?

  • Se requiere una licencia de SQL Server para tu instancia de Cloud SQL.
  • Dado que SSRS se ejecuta en una máquina Windows independiente, asegúrate de que el SO de Windows y los componentes de SQL Server en esa máquina tengan la licencia adecuada. Según las políticas de Microsoft, ejecutar SSRS en un servidor independiente podría requerir una licencia adicional de SQL Server.

Automatización

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

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

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

La instalación y configuración de SSRS en el entorno de Windows suele implicar pasos manuales a través de la interfaz del Administrador de configuración de Reporting Services, lo que dificulta la automatización integral de extremo a extremo.

Para obtener más información, consulta Cómo instalar y configurar SSRS.

Mantenimiento

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

¿Cuáles son las posibles actividades de administración y mantenimiento asociadas con el uso de SSRS?

Antes de comenzar, considera la sobrecarga de administración continua asociada con el servidor de SSRS independiente. Eres responsable de administrar, aplicar parches y proteger la VM de Windows que ejecuta el servicio de SSRS. Cloud SQL solo administra la instancia de base de datos.