Compatibilidad con SQL Server Analysis Services en Amazon RDS for SQL Server - Amazon Relational Database Service

Compatibilidad con SQL Server Analysis Services en Amazon RDS for SQL Server

Microsoft SQL Server Analysis Services (SSAS) forma parte del conjunto Microsoft Business Intelligence (MSBI). SSAS es una herramienta de procesamiento analítico en línea (OLAP) y minería de datos instalada en SQL Server. Utilice SSAS para analizar datos como ayuda para tomar decisiones empresariales. SSAS es diferente de la base de datos relacional de SQL Server porque SSAS está optimizado para consultas y cálculos comunes en un entorno de inteligencia empresarial.

Puede habilitar SSAS para instancias de base de datos existentes o nuevas. Está instalado en la misma instancia de base de datos que su motor de base de datos. Para obtener más información sobre SSAS, consulte la documentación de Microsoft Analysis Services.

Amazon RDS admite SSAS para las ediciones Standard y Enterprise de SQL Server en las siguientes versiones:

  • Modo tabular:

    • SQL Server 2019, versión 15.00.4043.16.v1 y posteriores

    • SQL Server 2017, versión 14.00.3223.3.v1 y posteriores

    • SQL Server 2016, versión 13.00.5426.0.v1 y posteriores

  • Modo multidimensional:

    • SQL Server 2017, versión 14.00.3381.3.v1 y posteriores

    • SQL Server 2016, versión 13.00.5882.1.v1 y posteriores

Limitaciones

Las siguientes limitaciones se aplican al uso de SSAS en RDS for SQL Server:

  • RDS for SQL Server admite la ejecución de SSAS en modo tabular o multidimensional. Para obtener más información, consulte Comparación de soluciones tabulares y multidimensionales en la documentación de Microsoft.

  • Solo puede utilizar un modo de SSAS a la vez. Antes de cambiar de modo, asegúrese de eliminar todas las bases de datos SSAS.

    Para obtener más información, consulte Cambiar el modo de SSAS .

  • El modo multidimensional no es compatible con SQL Server 2019.

  • No se da soporte a las instancias Multi-AZ.

  • Las instancias deben utilizar AWS Directory Service for Microsoft Active Directory para la autenticación SSAS.

  • Los usuarios no tienen acceso de administrador del servidor SSAS, pero se les puede conceder acceso de administrador en el nivel de base de datos.

  • El único puerto con soporte para obtener acceso a SSAS es 2383.

  • No se pueden implementar proyectos directamente. Para implementarlos, proporcionamos un procedimiento almacenado de RDS. Para obtener más información, consulte Implementación de proyectos SSAS en Amazon RDS.

  • No se da soporte a los procesamientos durante la implementación.

  • No se da soporte al uso de archivos .xmla para la implementación.

  • Los archivos de entrada del proyecto SSAS y los archivos de salida de copia de seguridad de la base de datos solo pueden estar en la carpeta D:\S3 de la instancia de base de datos.

Activación de SSAS

Utilice el siguiente proceso para activar SSAS para su instancia de base de datos:

  1. Cree un nuevo grupo de opciones o elija un grupo de opciones ya existente.

  2. Añada la opción SSAS al grupo de opciones.

  3. Asocie el grupo de opciones a la instancia de base de datos.

  4. Permitir el acceso entrante al grupo de seguridad de la nube virtual privada (VPC) para el puerto de escucha de SSAS.

  5. Activar la integración de Simple Storage Service (Amazon S3).

Crear un grupo de opciones para SSAS

Utilice la AWS Management Console o la AWS CLI para crear un grupo de opciones que corresponda al motor de SQL Server y la versión de la instancia de base de datos que planee utilizar.

nota

También puede utilizar un grupo de opciones ya existente si es para el motor y la versión correctos de SQL Server.

El siguiente procedimiento de consola crea un grupo de opciones para SQL Server Standard Edition 2017.

Para crear el grupo de opciones

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija Create group.

  4. En el panel Create option group (Crear grupo de opciones), haga lo siguiente:

    1. En Nombre, escriba un nombre para el grupo de opciones que sea exclusivo dentro de su cuenta de AWS, como ssas-se-2017. El nombre solo puede contener letras, dígitos y guiones.

    2. En Descripción, escriba una breve descripción del grupo de opciones, como SSAS option group for SQL Server SE 2017. La descripción se utiliza para fines de visualización.

    3. Para Engine (Motor), elija sqlserver-se.

    4. En Major engine version (Versión principal dle motor), elija 14.00.

  5. Elija Create (Crear).

En el siguiente ejemplo de CLI se crea un grupo de opciones para SQL Server Standard Edition 2017.

Para crear el grupo de opciones

  • Utilice uno de los siguientes comandos.

    Para Linux, macOS o Unix:

    aws rds create-option-group \ --option-group-name ssas-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSAS option group for SQL Server SE 2017"

    Para Windows:

    aws rds create-option-group ^ --option-group-name ssas-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSAS option group for SQL Server SE 2017"

Agregar la opción de SSAS al grupo de opciones

A continuación, utilice la AWS Management Console o la AWS CLI para agregar la opción SSAS al grupo de opciones.

Para agregar la opción de SSAS

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija el grupo de opciones que acaba de crear.

  4. Seleccione Add option (Añadir opción).

  5. En Option details (Detalles de la opción), elija SSAS para Option name (Nombre de la opción).

  6. En Option settings (Configuración de opciones), haga lo siguiente:

    1. Para Max memory (Memoria máxima), ingrese un valor en el rango 10-80.

      En Max memory (Memoria máxima) se especifica el umbral superior por encima del cual SSAS comienza a liberar memoria con mayor rapidez para dejar espacio a las solicitudes que se están ejecutando, así como a las nuevas solicitudes de alta prioridad. El número es un porcentaje de la memoria total de la instancia de base de datos. Se permiten los valores entre 10 y 80, y el valor predeterminado es 45.

    2. Para Mode (Modo), elija el modo de servidor SSAS, Tabular o Multidimensional.

      Si no ve la opción Mode (Modo), significa que el modo Multidimensional no es compatible con su región de AWS. Para obtener más información, consulte Limitaciones .

      Tabular es el modo predeterminado.

    3. En Security groups (Grupos de seguridad), elija el grupo de seguridad de VPC que desea asociar a la opción.

    nota

    El puerto para obtener acceso a SSAS, 2383, se rellena previamente.

  7. En Scheduling (Programación), elija si desea agregar la opción inmediatamente o en el siguiente período de mantenimiento.

  8. Elija Add option (Agregar opción).

Para agregar la opción de SSAS

  1. Cree un archivo JSON, por ejemplo ssas-option.json, con los siguientes parámetros:

    • OptionGroupName: el nombre del grupo de opciones que ha creado o elegido anteriormente (ssas-se-2017 en el ejemplo siguiente).

    • Port: el puerto que se utiliza para obtener acceso a SSAS. Solo se da soporte al puerto 2383.

    • VpcSecurityGroupMemberships: membresías para los grupos de seguridad de la VPC para la instancia de base de datos RDS.

    • MAX_MEMORY: el umbral superior por encima del cual SSAS debería comenzar a liberar más memoria para dejar espacio a las solicitudes que se estén ejecutando y para nuevas solicitudes de alta prioridad. El número es un porcentaje de la memoria total de la instancia de base de datos. Se permiten los valores entre 10 y 80, y el valor predeterminado es 45.

    • MODE: el modo de servidor de SSAS, ya sea Tabular o Multidimensional. Tabular es el predeterminado.

      Si recibe un error que indica que la configuración de la opción MODE no es válida, significa que el modo multidimensional no es compatible con su región AWS. Para obtener más información, consulte Limitaciones .

    El siguiente es un ejemplo de un archivo JSON con la configuración de las opciones de SSAS.

    { "OptionGroupName": "ssas-se-2017", "OptionsToInclude": [ { "OptionName": "SSAS", "Port": 2383, "VpcSecurityGroupMemberships": ["sg-0abcdef123"], "OptionSettings": [{"Name":"MAX_MEMORY","Value":"60"},{"Name":"MODE","Value":"Multidimensional"}] }], "ApplyImmediately": true }
  2. Añada la opción SSAS al grupo de opciones.

    Para Linux, macOS o Unix:

    aws rds add-option-to-option-group \ --cli-input-json file://ssas-option.json \ --apply-immediately

    Para Windows:

    aws rds add-option-to-option-group ^ --cli-input-json file://ssas-option.json ^ --apply-immediately

Asociación del grupo de opciones a su instancia de base de datos

Puede utilizar la consola o la CLI para asociar el grupo de opciones con la instancia de base de datos.

Asocie su grupo de opciones a una instancia de base de datos nueva o ya existente:

Puede asociar su grupo de opciones a una instancia de base de datos nueva o ya existente.

nota

Si usa una instancia que ya existe, esta debe tener ya asociados un dominio de Active Directory y un rol de IAM. Si crea una instancia nueva, especifique un rol de IAM y un dominio de Active Directory ya existentes. Para obtener más información, consulte Uso de la autenticación de Windows con una instancia de base de datos de Amazon RDS for SQL Server.

Para crear una instancia de base de datos que utilice el grupo de opciones

  • Especifique el mismo tipo de motor de base de datos y la misma versión principal que ha utilizado al crear el grupo de opciones.

    Para Linux, macOS o Unix:

    aws rds create-db-instance \ --db-instance-identifier myssasinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssas-se-2017

    Para Windows:

    aws rds create-db-instance ^ --db-instance-identifier myssasinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssas-se-2017

Para modificar una instancia de base de datos para asociar el grupo de opciones

  • Utilice uno de los siguientes comandos.

    Para Linux, macOS o Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssasinstance \ --option-group-name ssas-se-2017 \ --apply-immediately

    Para Windows:

    aws rds modify-db-instance ^ --db-instance-identifier myssasinstance ^ --option-group-name ssas-se-2017 ^ --apply-immediately

Permitir el acceso de entrada a su grupo de seguridad de VPC

Cree una regla de entrada para el puerto del agente de escucha de SSAS especificado en el grupo de seguridad de VPC asociado a su instancia de base de datos. Para obtener más información acerca de la configuración de grupos de seguridad, consulte Proporcionar acceso a la instancia de base de datos en la VPC mediante la creación de un grupo de seguridad.

Habilitación de la integración de Simple Storage Service (Amazon S3)

Para descargar los archivos de configuración del modelo en su host para su implementación, utilice la integración de Simple Storage Service (Amazon S3). Para obtener más información, consulte Integración de una instancia de base de datos de Amazon RDS for SQL Server con Amazon S3 .

Implementación de proyectos SSAS en Amazon RDS

En RDS, no puede implementar directamente proyectos SSAS mediante SQL Server Management Studio (SSMS). Para implementar proyectos, utilice un procedimiento almacenado de RDS.

nota

No se da soporte al uso de archivos .xmla para la implementación.

Antes de implementar proyectos, asegúrese de lo siguiente:

  • La integración de Simple Storage Service (Amazon S3) está activada. Para obtener más información, consulte Integración de una instancia de base de datos de Amazon RDS for SQL Server con Amazon S3 .

  • El valor de configuración de Processing Option tiene que estar establecido en Do Not Process. Esta configuración significa que no se ejecutará ningún procesamiento después de la implementación.

  • Tiene los archivos myssasproject.asdatabase y myssasproject.deploymentoptions. Se generan automáticamente cuando se crea el proyecto SSAS.

Para implementar un proyecto SSAS en RDS

  1. Descargue el archivo .asdatabase (modelo SSAS) desde su bucket S3 a su instancia de base de datos, tal y como se muestra en el siguiente ejemplo. Para obtener más información sobre los parámetros de descarga, consulte Descarga de archivos desde un bucket de Amazon S3 a una instancia de base de datos de SQL Server.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.asdatabase', [@rds_file_path='D:\S3\myssasproject.asdatabase'], [@overwrite_file=1];
  2. Descargue el archivo .deploymentoptions desde su bucket S3 hasta la instancia de base de datos.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.deploymentoptions', [@rds_file_path='D:\S3\myssasproject.deploymentoptions'], [@overwrite_file=1];
  3. Implemente el proyecto.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_DEPLOY_PROJECT', @file_path='D:\S3\myssasproject.asdatabase';

Monitoreo del estado de una tarea de implementación

Para realizar un seguimiento del estado de la tarea de implementación (o descarga), llame a la función rds_fn_task_status. Tiene dos parámetros. El primer parámetro tiene que ser siempre NULL porque no se aplica a SSAS. El segundo parámetro acepta un ID de tarea.

Para obtener una lista de todas las tareas, establezca el primer parámetro en NULL y el segundo en 0, como se muestra en el siguiente ejemplo.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

Para obtener una tarea específica, establezca el primer parámetro en NULL y el segundo en el ID de la tarea, como se muestra en el siguiente ejemplo.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

La función rds_fn_task_status devuelve la siguiente información.

Parámetro de salida

Descripción

task_id

El ID de la tarea.

task_type

Para SSAS, las tareas pueden tener los siguientes tipos de tareas:

  • SSAS_DEPLOY_PROJECT

  • SSAS_ADD_DB_ADMIN_MEMBER

  • SSAS_BACKUP_DB

  • SSAS_RESTORE_DB

database_name

No aplicable a tareas de SSAS.

% complete

El porcentaje de progreso de la tarea.

duration (mins)

El tiempo empleado en la tarea, en minutos.

lifecycle

El estado de la tarea. Los posibles estados son los siguientes:

  • CREATED – después de llamar a uno de los procedimientos almacenados de SSAS, se crea una tarea y el estado se establece en CREATED.

  • IN_PROGRESS – cuando una tarea comienza, el estado se establece en IN_PROGRESS. Pueden pasar hasta cinco minutos hasta que el estado cambie de CREATED a IN_PROGRESS.

  • SUCCESS – cuando una tarea se completa, el estado se establece en SUCCESS.

  • ERROR – si se produce un error con una tarea, el estado se establece en ERROR. Para obtener más información acerca del error, consulte la columna task_info.

  • CANCEL_REQUESTED: después de llamar a rds_cancel_task, el estado de la tarea se establece en CANCEL_REQUESTED.

  • CANCELLED – después de que se cancela una tarea correctamente, se establece su estado en CANCELLED.

task_info

Información adicional acerca de la tarea. Si se produce un error durante el procesamiento, esta columna contiene información acerca del error.

Para obtener más información, consulte Solución de problemas de SSAS .

last_updated

La fecha y hora en que se actualizó por última vez el estado de la tarea.

created_at

La fecha y hora en que se creó la tarea.

S3_object_arn

No aplicable a tareas de SSAS.

overwrite_S3_backup_file

No aplicable a tareas de SSAS.

KMS_master_key_arn

No aplicable a tareas de SSAS.

filepath

No aplicable a tareas de SSAS.

overwrite_file

No aplicable a tareas de SSAS.

task_metadata

Metadatos asociados a la tarea de SSAS.

Uso de SSAS en Amazon RDS

Después de implementar el proyecto SSAS, puede procesar directamente la base de datos OLAP en SSMS.

Para utilizar SSAS en RDS

  1. En SSMS, conéctese a SSAS mediante el nombre de usuario y la contraseña del dominio de Active Directory.

  2. Expanda Databases (Bases de datos). Aparece la base de datos SSAS recién implementada.

  3. Localice la cadena de conexión y actualice el nombre de usuario y la contraseña para dar acceso a la base de datos SQL de origen. Esta operación es necesaria para procesar los objetos de SSAS.

    1. Para el modo tabular, haga lo siguiente:

      1. Despliegue la pestaña Connections (Conexiones).

      2. Abra el menú contextual (con el botón derecho del ratón) del objeto de conexión y elija Properties (Propiedades).

      3. Actualice el nombre de usuario y la contraseña en la cadena de conexión.

    2. Para el modo multidimensional, haga lo siguiente:

      1. Despliegue la pestaña Data Sources (Orígenes de datos).

      2. Abra el menú contextual (con el botón derecho del ratón) del objeto origen de datos y, a continuación, elija Properties (Propiedades).

      3. Actualice el nombre de usuario y la contraseña en la cadena de conexión.

  4. Abra el menú contextual (haga clic con el botón derecho) de la base de datos SSAS que ha creado y elija Process Database (Procesar base de datos).

    Según el tamaño de los datos de entrada, la operación de procesamiento puede tardar varios minutos en completarse.

Configuración de un usuario autenticado por Windows para SSAS

El usuario administrador principal (a veces llamado usuario maestro) puede utilizar el siguiente ejemplo de código para configurar un inicio de sesión autenticado por Windows y conceder los permisos de procedimiento necesarios. Al hacer esto se conceden permisos al usuario de dominio para ejecutar tareas de cliente de SSAS, utilizar procedimientos de transferencia de archivos S3, crear credenciales y trabajar con el proxy de SQL Server Agent. Para obtener más información, consulte Credenciales (Motor de base de datos) y Crear un proxy de SQL Server Agent en la documentación de Microsoft.

Puede conceder algunos o todos los permisos siguientes, según sea necesario, a los usuarios autenticados de Windows.

-- Create a server-level domain user login, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create domain user, if it doesn't already exist USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] GO -- Grant necessary privileges to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO USE [msdb] GO GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO

Agregar un usuario de dominio como administrador de bases de datos

Puede agregar un usuario de dominio como administrador de base de datos SSAS de las siguientes maneras:

  • Un administrador de base de datos puede usar SSMS para crear un rol con privilegios de admin y, a continuación, agregar usuarios a dicho rol.

  • Puede utilizar el siguiente procedimiento almacenado.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER', @database_name='myssasdb', @ssas_role_name='exampleRole', @ssas_role_member='domain_name\domain_user_name';

    Se requieren los siguientes parámetros:

    • @task_type – el tipo de la tarea MSBI; en este caso SSAS_ADD_DB_ADMIN_MEMBER.

    • @database_name: el nombre de la base de datos SSAS a la que concede privilegios de administrador.

    • @ssas_role_name: el nombre del rol de administrador de base de datos SSAS. Si el rol no existe, se crea.

    • @ssas_role_member: el usuario de la base de datos SSAS que va a agregar al rol de administrador.

Creación de un proxy de SSAS

Para poder programar el procesamiento de la base de datos de SSAS mediante SQL Server Agent, cree una credencial de SSAS y un proxy de SSAS. Ejecute estos procedimientos como usuario autenticado por Windows.

Para crear la credencial de SSAS

  • Cree la credencial para el proxy. Para ello, puede utilizar SSMS o la siguiente instrucción SQL.

    USE [master] GO CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    nota

    IDENTITY debe ser un inicio de sesión autenticado por dominio. Reemplace mysecret por la contraseña para el inicio de sesión autenticado por el dominio.

Para crear el proxy de SSAS

  1. Utilice la siguiente instrucción SQL para crear el proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. Utilice la siguiente instrucción SQL para conceder acceso al proxy a otros usuarios.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Utilice la siguiente instrucción SQL para conceder acceso al subsistema de SSAS al proxy.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO

Para consultar el proxy y las concesiones en el proxy

  1. Utilice la siguiente instrucción SQL para consultar los beneficiarios del proxy.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Utilice la siguiente instrucción SQL para consultar las concesiones del subsistema.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

Programación del procesamiento de bases de datos SSAS mediante SQL Server Agent

Después de crear la credencial y el proxy y conceder acceso a SSAS al proxy, puede crear un trabajo de SQL Server Agent para programar el procesamiento de la base de datos de SSAS.

Para programar el procesamiento de base de datos de SSAS

  • Use SSMS o T-SQL para crear el trabajo de SQL Server Agent. En el siguiente ejemplo se utiliza T-SQL. Además, puede configurar la programación de trabajo a través de SSMS o T-SQL.

    • El parámetro @command indica el comando XML for Analysis (XMLA) que debe ejecutar el trabajo de SQL Server Agent Este ejemplo configura el procesamiento de la base de datos multidimensional de SSAS.

    • El parámetro @server indica el nombre del servidor SSAS de destino del trabajo de SQL Server Agent.

      Para llamar al servicio de SSAS dentro de la misma instancia de base de datos RDS donde reside el trabajo de SQL Server Agent, utilice localhost:2383.

      Para llamar al servicio de SSAS desde fuera de la instancia de base de datos RDS, utilice el punto de conexión RDS. También puede utilizar el punto de conexión de Kerberos Active Directory (AD) (your-DB-instance-name.your-AD-domain-name) si las instancias de la base de datos RDS están unidas por el mismo dominio. En el caso de las instancias de base de datos externas, asegúrese de configurar correctamente el grupo de seguridad de la VPC asociado a la instancia de base de datos RDS para obtener una conexión segura.

    Puede editar aún más la consulta para admitir varias operaciones XMLA. Realice las ediciones modificando directamente la consulta T-SQL o mediante la UI de SSMS tras la creación del trabajo de SQL Server Agent.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'SSAS_Job', @server_name = N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500"> <Object> <DatabaseID>Your_SSAS_Database_ID</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>', @server=N'localhost:2383', @database_name=N'master', @flags=0, @proxy_name=N'SSAS_Proxy' GO

Revocación de acceso de SSAS desde el proxy

Puede revocar el acceso al subsistema de SSAS y eliminar el proxy de SSAS mediante los siguientes procedimientos almacenados.

Para revocar el acceso y eliminar el proxy

  1. Revoque el acceso al subsistema.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. Revoque las concesiones en el proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. Elimine el proxy.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO

Copia de seguridad de una base de datos SSAS

Puede crear archivos de copia de seguridad de base de datos SSAS solo en la carpeta D:\S3 de la instancia de base de datos. Para mover los archivos de copia de seguridad al bucket de S3, utilice Amazon S3.

Puede realizar una copia de seguridad de una base de datos SSAS de la siguiente manera:

  • Un usuario de dominio con el rol admin de una base de datos determinada puede utilizar SSMS para realizar una copia de seguridad de la base de datos en la carpeta D:\S3.

    Para obtener más información, consulte Agregar un usuario de dominio como administrador de bases de datos.

  • Puede utilizar el siguiente procedimiento almacenado. Este procedimiento almacenado no admite la codificación.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_BACKUP_DB', @database_name='myssasdb', @file_path='D:\S3\ssas_db_backup.abf', [@ssas_apply_compression=1], [@ssas_overwrite_file=1];

    Se requieren los siguientes parámetros:

    • @task_type – el tipo de la tarea MSBI; en este caso SSAS_BACKUP_DB.

    • @database_name: el nombre de la base de datos SSAS cuya copia de seguridad está realizando.

    • @file_path: la ruta de acceso del archivo de copia de seguridad de SSAS. La extensión .abf es necesaria.

    Los siguientes parámetros son opcionales:

    • @ssas_apply_compression: indica si se aplicará la compresión de copia de seguridad de SSAS. Los valores válidos son 1 (Sí) y 0 (No).

    • @ssas_overwrite_file: indica si se sobrescribe el archivo de copia de seguridad de SSAS. Los valores válidos son 1 (Sí) y 0 (No).

Restauración de una base de datos SSAS

Utilice el siguiente procedimiento almacenado para restaurar una base de datos SSAS a partir de una copia de seguridad.

No puede restaurar una base de datos si ya existe una base de datos SSAS con el mismo nombre. El procedimiento almacenado para restaurar no da soporte a archivos de copia de seguridad cifrados.

exec msdb.dbo.rds_msbi_task @task_type='SSAS_RESTORE_DB', @database_name='mynewssasdb', @file_path='D:\S3\ssas_db_backup.abf';

Se requieren los siguientes parámetros:

  • @task_type – el tipo de la tarea MSBI; en este caso SSAS_RESTORE_DB.

  • @database_name: el nombre de la nueva base de datos SSAS en la que está realizando la restauración.

  • @file_path: la ruta de acceso al archivo de copia de seguridad de SSAS.

Restauración de una instancia de base de datos a un momento especificado

La recuperación a un momento dado (PITR) no se aplica a las bases de datos SSAS. Si ejecuta una PITR, solo los datos SSAS de la última instantánea antes de la hora solicitada estarán disponibles en la instancia restaurada.

Para tener bases de datos SSAS actualizadas en una instancia de base de datos restaurada

  1. Haga una copia de seguridad de las bases de datos SSAS en la carpeta D:\S3 de la instancia de origen.

  2. Transfiera los archivos de copia de seguridad al bucket S3.

  3. Transfiera los archivos de copia de seguridad del bucket S3 a la carpeta D:\S3 de la instancia restaurada.

  4. Ejecute el procedimiento almacenado para restaurar las bases de datos SSAS en la instancia restaurada.

    También puede volver a procesar el proyecto SSAS para restaurar las bases de datos.

Cambiar el modo de SSAS

Puede cambiar el modo en el que se ejecuta SSAS, ya sea Tabular o Multidimensional. Para cambiar el modo, utilice la AWS Management Console o la AWS CLI para modificar la configuración de las opciones en la opción de SSAS.

importante

Solo puede utilizar un modo de SSAS a la vez. Asegúrese de eliminar todas las bases de datos de SSAS antes de cambiar el modo o aparecerá un error.

El siguiente procedimiento de la consola de Amazon RDS cambia el modo de SSAS a Tabular y establece el parámetro MAX_MEMORY al 70 por ciento.

Para modificar la opción de SSAS

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija el grupo de opciones con la opción SSAS que desea modificar (ssas-se-2017 en los ejemplos anteriores).

  4. Elija Modify option (Modificar opción).

  5. Cambie la configuración de las opciones:

    1. Para Max memory (Memoria máxima), ingrese 70.

    2. Para el Mode (Modo), elija Tabular

  6. Elija Modify option (Modificar opción).

El siguiente ejemplo de la AWS CLI cambia el modo de SSAS a Tabular y establece el parámetro MAX_MEMORY al 70 por ciento.

Para que el comando de la CLI funcione, asegúrese de incluir todos los parámetros requeridos, incluso si no los está modificando.

Para modificar la opción de SSAS

  • Utilice uno de los siguientes comandos.

    Para Linux, macOS o Unix:

    aws rds add-option-to-option-group \ --option-group-name ssas-se-2017 \ --options "OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}]" \ --apply-immediately

    Para Windows:

    aws rds add-option-to-option-group ^ --option-group-name ssas-se-2017 ^ --options OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}] ^ --apply-immediately

Desactivación de SSAS

Para descativar SSAS, quite la opción SSAS de su grupo de opciones.

importante

Antes de quitar la opción SSAS, elimine las bases de datos SSAS.

Es muy recomendable que realice una copia de seguridad de las bases de datos SSAS antes de eliminarlas y quitar la opción SSAS.

Para quitar la opción SSAS de su grupo de opciones

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija el grupo de opciones con la opción SSAS que desea quitar (ssas-se-2017 en los ejemplos anteriores).

  4. Elija Delete option (Eliminar opción).

  5. En Deletion options (Opciones de eliminación), elija SSAS para Options to delete (Opciones para eliminar).

  6. En Apply immediately (Aplicar inmediatamente), seleccione Yes (Sí) para eliminar la opción inmediatamente o No para eliminarla en el siguiente período de mantenimiento.

  7. Elija Delete (Eliminar).

Para quitar la opción de SSAS de su grupo de opciones

  • Utilice uno de los siguientes comandos.

    Para Linux, macOS o Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssas-se-2017 \ --options SSAS \ --apply-immediately

    Para Windows:

    aws rds remove-option-from-option-group ^ --option-group-name ssas-se-2017 ^ --options SSAS ^ --apply-immediately

Solución de problemas de SSAS

Es posible que se encuentre con los siguientes problemas al utilizar SSAS.

Problema Tipo Sugerencias para la solución de problemas
No se puede configurar la opción de SSAS. El modo de SSAS solicitado es new_mode, pero la instancia de base de datos actual tiene un número de bases de datos current_mode. Elimine las bases de datos existentes antes de cambiar al modo new_mode. Para recuperar el acceso al modo current_mode a fin de eliminar las bases de datos, actualice el grupo de opciones de la base de datos actual o adjunte un nuevo grupo de opciones con %s como valor de configuración de la opción MODE para la opción de SSAS. Evento de RDS No se puede cambiar el modo de SSAS si todavía tiene bases de datos de SSAS que utilizan el modo actual. Elimine las bases de datos de SSAS y vuelva a intentarlo.
No se puede eliminar la opción de SSAS porque hay un número de bases de datos de modo existente. La opción de SSAS no se puede eliminar hasta que se eliminen todas las bases de datos de SSAS. Agregue la opción de SSAS de nuevo, elimine todas las bases de datos de SSAS e inténtelo de nuevo. Evento de RDS No se puede desactivar SSAS si todavía tiene bases de datos de SSAS. Elimine las bases de datos de SSAS y vuelva a intentarlo.
La opción de SSAS no está habilitada o está en proceso de habilitarse. Inténtelo de nuevo más tarde. Procedimiento almacenado de RDS No se puede ejecutar procedimientos almacenados de SSAS cuando la opción está desactivada ni cuando se encuentra activada.
La opción de SSAS está configurada incorrectamente Asegúrese de que el estado de pertenencia al grupo de opciones sea “in-sync” y revise los registros de eventos de RDS en busca de mensajes de error de configuración de SSAS relevantes Tras estas investigaciones, inténtelo de nuevo. Si los errores continúan, contacte con AWS Support. Procedimiento almacenado de RDS

No se puede ejecutar procedimientos almacenados de SSAS cuando la membresía de su grupo de opciones no tiene el estado in-sync. Esto pone a la opción de SSAS en un estado de configuración incorrecto.

Si el estado de membresía de su grupo de opciones cambia a failed debido a la modificación de la opción de SSAS, hay dos posibles razones:

  1. La opción de SSAS se eliminó sin que las bases de datos de SSAS se hayan borrado.

  2. El modo de SSAS se actualizó de Tabular a Multidimensional, o de Multidimensional a Tabular, sin que las bases de datos de SSAS existentes se hayan borrado.

Reconfigure la opción de SSAS, porque RDS solo permite un modo de SSAS a la vez y no admite la eliminación de la opción de SSAS con bases de datos de SSAS presentes.

Compruebe los registros de eventos de RDS en busca de errores de configuración para la instancia de SSAS y resuelva los problemas en consecuencia.

Error de implementación El cambio solo puede implementarse en un servidor que se ejecute en el modo deployment_file_mode. El modo de servidor actual es current_mode. Procedimiento almacenado de RDS

No se puede implementar una base de datos tabular en un servidor multidimensional ni una base de datos multidimensional en un servidor tabular.

Asegúrese de utilizar archivos con el modo correcto y verifique que la configuración de la opción MODE esté establecida en el valor apropiado.

Error en la restauración. El archivo de copia de seguridad solo se puede restaurar en un servidor que se ejecute en el modo restore_file_mode. El modo de servidor actual es current_mode. Procedimiento almacenado de RDS

No se puede restaurar una base de datos tabular a un servidor multidimensional ni una base de datos multidimensional a un servidor tabular.

Asegúrese de utilizar archivos con el modo correcto y verifique que la configuración de la opción MODE esté establecida en el valor apropiado.

Error en la restauración. Las versiones del archivo de copia de seguridad y de instancia de la base de datos RDS son incompatibles. Procedimiento almacenado de RDS

No se puede restaurar una base de datos de SSAS con una versión incompatible con la versión de la instancia de SQL Server.

Para obtener más información, consulte Niveles de compatibilidad para modelos tabulares y Nivel de compatibilidad de una base de datos multidimensional en la documentación de Microsoft.

Error en la restauración. El archivo de copia de seguridad especificado en la operación de restauración está dañado o no es un archivo de copia de seguridad de SSAS. Asegúrese de que @rds_file_path se encuentre correctamente formateado. Procedimiento almacenado de RDS

No se puede restaurar una base de datos de SSAS con un archivo dañado.

Asegúrese de que el archivo no esté dañado o corrupto.

Este error también puede aparecer cuando @rds_file_path no está correctamente formateado (por ejemplo, tiene doble barra invertida como en D:\S3\\incorrect_format.abf).

Error en la restauración. El nombre de la base de datos restaurada no puede contener palabras reservadas o caracteres no válidos: . , ; ' ` : / \ * | ? ¡\" & % $ ! + = ( ) [ ] { } < >, o tener más de 100 caracteres. Procedimiento almacenado de RDS

El nombre de la base de datos restaurada no puede contener palabras reservadas o caracteres que no sean válidos ni tener más de 100 caracteres.

Para conocer las convenciones de denominación de objetos de SSAS, consulte Normas de nomenclatura de objetos en la documentación de Microsoft.

Se proporcionó un nombre de rol no válido. El nombre del rol no puede contener ninguna cadena reservada. Procedimiento almacenado de RDS

El nombre del rol no puede contener ninguna cadena reservada.

Para conocer las convenciones de denominación de objetos de SSAS, consulte Normas de nomenclatura de objetos en la documentación de Microsoft.

Se proporcionó un nombre de rol no válido. El nombre del rol no puede contener ninguno de los siguientes caracteres reservados: . , ; ' ` : / \\ * | ? ¡\" & % $ ! + = ( ) [ ] { } < > Procedimiento almacenado de RDS

El nombre del rol no puede contener ningún carácter reservado.

Para conocer las convenciones de denominación de objetos de SSAS, consulte Normas de nomenclatura de objetos en la documentación de Microsoft.