sql >> Base de Datos >  >> RDS >> Sqlserver

Automatización del procesamiento de modelos tabulares de bases de datos de Analysis Services (SSAS) en SQL Server

Este artículo habla sobre la automatización del procesamiento de la base de datos de Analysis Services en SQL Server. La automatización es una de las tareas más importantes que gestionan los administradores de bases de datos o los ingenieros de DevOps.

Además, obtendremos una descripción general de las bases de datos de Analysis Services y en qué se diferencian de las bases de datos de SQL Server.

Este artículo también destaca la importancia de automatizar las tareas en SQL Server para minimizar los errores y maximizar la productividad, especialmente cuando se trabaja con escenarios complejos como soluciones de inteligencia comercial de almacenamiento de datos.

Acerca de las bases de datos de Analysis Services

Echemos un vistazo a las bases de datos de Analysis Services para que podamos comprender la importancia de automatizar su procesamiento en el contexto de las soluciones de inteligencia comercial de almacenamiento de datos y escenarios de análisis de datos complejos.

¿Qué es una base de datos de Analysis Services?

Una base de datos de Analysis Services es una base de datos altamente optimizada para análisis e informes que a menudo se prepara y actualiza como parte de las soluciones de inteligencia comercial de almacenamiento de datos.

En qué se diferencian las bases de datos de Analysis Services de las bases de datos de SQL Server

Una base de datos de Analysis Services es diferente de una base de datos de SQL Server porque funciona en un lenguaje diferente (DAX/MDX) y ofrece muchas funciones integradas de inteligencia comercial para análisis e informes junto con características como minería de datos e inteligencia de tiempo.

¿Cuántos tipos de bases de datos de Analysis Services existen?

Los dos tipos principales de bases de datos de Analysis Services son los siguientes:

  1. Modo multidimensional (Cubo)
  2. Modo tabular (modelo de datos)

Entonces, una base de datos de Analysis Services es un cubo implementado o un modelo de datos implementado. Pero en ambas formas, atiende solicitudes que van desde escenarios de análisis de datos simples a complejos y permite crear informes sobre ellos.

¿Qué es SQL Server Analysis Services (SSAS)

SQL Server Analysis Services, también conocido como SSAS, es una instancia de servidor de Microsoft que permite alojar bases de datos de Analysis Services.

¿Qué es una base de datos de Analysis Services en un almacén de datos?

Una base de datos de servicio de análisis en el contexto del almacén de datos suele ser un producto final que se puede exponer a los usuarios comerciales para informes de autoservicio y análisis en tiempo real.

En palabras simples, una vez que los datos que pasan por diferentes transformaciones y etapas de un almacén de datos llegan a la base de datos de Analysis Services, se consideran listos para el análisis y la generación de informes.

¿Qué significa Procesar una base de datos de Analysis Services?

Procesar una base de datos de Analysis Services significa verificar las fuentes en busca de nuevos datos, cargarlos en la base de datos. Las bases de datos de Analysis Services deben actualizarse con el tiempo, ya que las fuentes de las que extraen datos con frecuencia obtienen datos nuevos.

¿Por qué deberíamos automatizar el procesamiento de las bases de datos de Analysis Services?

La siguiente pregunta importante que uno puede hacerse es:¿por qué necesitamos automatizar el procesamiento de una base de datos de Analysis Services si podemos ejecutarla fácilmente de forma manual?

La respuesta simple es que debemos asegurarnos de que la base de datos de Analysis Services esté actualizada sin intervención manual, ahorrando así tiempo y esfuerzo, particularmente en el contexto de una solución de inteligencia comercial de almacenamiento de datos cuando el proyecto se implementa en un servidor en vivo.

Automatización del procesamiento de la base de datos de Analysis Services

Ahora, repasemos los pasos principales para automatizar el procesamiento de una base de datos de Azure Analysis Services.

Requisitos previos

En este artículo se supone que los lectores están familiarizados con los conceptos básicos de las soluciones de inteligencia empresarial de almacenamiento de datos, incluida la implementación de modelos de datos en un servidor SQL Analysis o Azure Analysis Services.

Dado que la creación y administración de bases de datos SQL y proyectos de servicios de análisis suele ser un trabajo de desarrollador, nos centraremos en el procesamiento y la automatización del procesamiento de bases de datos de Analysis Services o bases de datos SSAS desde la perspectiva de un DBA o un ingeniero DevOps.

Este artículo asume lo siguiente:

  1. Una base de datos de muestra llamada SQLDevBlogV5 la fuente ya se ha configurado
  2. Ya se ha creado un modelo de datos tabulares que utiliza un proyecto de Analysis Services
  3. Una base de datos de Analysis Services llamada SQLDevBlogTabularProject basado en el modelo tabular ya se ha implementado

Tenga en cuenta que la base de datos de origen y una base de datos de Analysis Services mencionadas anteriormente son solo para fines de referencia, por lo que puede cambiar estos nombres según sus requisitos.

Ahora puede saltar directamente al siguiente encabezado. Sin embargo, si desea cubrir tanto la perspectiva del desarrollador como la del DBA, puede realizar los pasos mencionados anteriormente utilizando la siguiente base de datos de muestra:

-- Create the sample database (SQLDevBlogV5)
CREATE DATABASE SQLDevBlogV5;
GO


USE SQLDevBlogV5;

-- (1) Create the Article table in the sample database
CREATE TABLE Article (
  ArticleId INT PRIMARY KEY IDENTITY (1, 1)
 ,Category	VARCHAR(50)
 ,Author VARCHAR(50)
 ,Title VARCHAR(150)
 ,Published DATETIME2
 ,Notes VARCHAR(400)  
)

GO

-- (2) Populating the Article table
SET IDENTITY_INSERT [dbo].[Article] ON
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (1, N'Development', N'Atif', N'Introduction to SQL Server Analysis Services (SSAS)', N'2019-01-01 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (2, N'Testing', N'Peter', N'Processing SSAS database', N'2019-01-10 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (3, N'DLM', N'Sadaf', N'Automating Analysis Services Database Processing', N'2019-01-20 00:00:00', NULL)
SET IDENTITY_INSERT [dbo].[Article] OFF

A continuación, cree un nuevo servicio de análisis proyecto tabular, importe la fuente de datos en el modelo e implemente el modelo en el servidor SSAS:

Nivel de compatibilidad

En este ejemplo, estamos usando SQL Server 2014/SQL Server 2012 SP1 (1103) nivel de compatibilidad para el modelo de datos. Sin embargo, puede especificar un nivel de compatibilidad diferente según sus requisitos.

Conéctese a los servicios de análisis

Abra SSMS (SQL Server Management Studio) y conéctese a un servidor de análisis ingresando sus credenciales:

Ir a la base de datos de Analysis Services (implementada)

Una vez establecida la conexión, expanda las Bases de datos nodo en el Explorador de objetos y luego expanda el nodo de base de datos de Analysis Services implementado haciendo clic en más icono junto a él:

Procesar la base de datos de Analysis Services

Haga clic con el botón derecho en la base de datos de Analysis Services y haga clic en Procesar base de datos:

Mantenga el modo de procesamiento predeterminado y haga clic en Aceptar :

La base de datos de Analysis Services se procesó correctamente:

Secuencia de comandos del procesamiento de la base de datos

A continuación, necesitamos obtener el script que se usa para procesar la base de datos de Analysis Services.

Una de las formas de automatizar el procesamiento de una base de datos de Analysis Services es generar un script de la tarea que realiza el procesamiento y ejecutarlo como un trabajo SQL (paso) en SQL Server.

Haga clic en Procesar base de datos de nuevo, pero no pulses Aceptar esta vez.

En el Guión menú desplegable en la parte superior izquierda de la ventana, haga clic en Acción de secuencia de comandos para nueva ventana de consulta como se muestra a continuación:

El script de procesamiento se abrirá en una nueva ventana llamada ventana de consulta XML :

Ejecute el script de la base de datos de procesos

Presione F5 para ejecutar el script XMLA que comienza a procesar la base de datos de Analysis Services:

Comprobación del Agente SQL Server

Ahora conéctese al motor de la base de datos del servidor SQL y asegúrese de que el agente del servidor SQL se esté ejecutando.

Configurar el acceso del Agente SQL Server

Otra cosa importante es asegurarse de que la cuenta que ejecuta el Agente SQL Server tenga acceso a la base de datos de Analysis Services.

En nuestro caso, la cuenta NT Service\SQLAgent está ejecutando el agente SQL Server, lo que significa que esta cuenta debe tener permisos para procesar la base de datos de Analysis Services.

Conéctese a la instancia tabular de Analysis Services y vaya a la base de datos de Analysis Services deseada. Luego, cree un nuevo Rol Corredor de base de datos agregando NT Service\SQLAgent cuenta y dándole la Base de datos de procesos permiso:

Tenga en cuenta que una de las formas estándar de lograr esto es crear un proxy y asignar las credenciales a ese proxy. Sin embargo, los detalles de este proceso están más allá del alcance de este artículo.

Copiar script XMLA para procesar la base de datos

Copie el script XMLA de la ventana de consulta XMLA de SQL Analysis Services que usamos para procesar la base de datos de Analysis Services.

Crear un paso de trabajo

Vuelva al Agente SQL Server y cree un nuevo paso de trabajo como Base de datos de Process Analysis Services SQLDevBlogV5.

Cree un nuevo paso proporcionando la siguiente información y haga clic en Aceptar :

Recuerde que debe escribir el nombre de su servidor y base de datos y luego pegar el script que copió del Editor de consultas XMLA.

Iniciar el trabajo

Haga clic derecho en el trabajo y haga clic en Iniciar trabajo en el paso...

El paso del trabajo se ejecutará correctamente como se muestra a continuación:

Programe el trabajo para automatizar el procesamiento

A continuación, programe el trabajo para automatizar el procesamiento de su base de datos de Analysis Services.

¡Felicidades! Ha automatizado con éxito el procesamiento de la base de datos de Analysis Services, ahorrando el tiempo y el esfuerzo que dedica un DBA o un ingeniero de DevOps para procesar la base de datos cada vez que es necesario actualizar los datos desde la fuente.

Cosas que hacer

Ahora que puede automatizar el procesamiento de una base de datos de Analysis Services, intente lo siguiente para mejorar aún más sus habilidades:

  1. Programe el trabajo de procesamiento de la base de datos de Analysis Services mencionado en este artículo para que se ejecute diariamente y agregue más datos a la muestra con el tiempo
  2. Implemente la solución completa haciendo lo siguiente:
    1. Configurar una base de datos de muestra
    2. Cree un modelo de datos tabulares
    3. Importar una base de datos de muestra al modelo de datos tabulares
    4. Implemente el modelo de datos tabulares para crear una base de datos de Analysis Services
    5. Automatice el procesamiento de la base de datos de Analysis Services mediante el Agente SQL
  3. Conéctese a la base de datos de Analysis Services a través de Excel para ver los datos después de que la base de datos de Analysis Services se actualice automáticamente mediante el trabajo SQL