Compartir a través de


Programar tareas administrativas de SSAS con el Agente SQL Server

Con el servicio Agente SQL Server, puede programar tareas administrativas de Analysis Services para que se ejecuten en el orden y las horas que necesite. Las tareas programadas le ayudan a automatizar los procesos que se ejecutan en ciclos normales o predecibles. Puede programar tareas administrativas, como el procesamiento de cubos, para que se ejecuten durante tiempos de actividad empresarial lenta. También puede determinar el orden en el que se ejecutan las tareas mediante la creación de pasos de trabajo dentro de un trabajo del Agente SQL Server. Por ejemplo, puede procesar un cubo y, a continuación, realizar una copia de seguridad del cubo.

Los pasos de trabajo le dan control sobre el flujo de ejecución. Si se produce un error en un trabajo, puede configurar el Agente SQL Server para seguir ejecutando las tareas restantes o detener la ejecución. También puede configurar el Agente SQL Server para enviar notificaciones sobre el éxito o el error de ejecución del trabajo.

Este tema es un tutorial que muestra dos maneras de usar el Agente SQL Server para ejecutar script XMLA. En el primer ejemplo se muestra cómo programar el procesamiento de una sola dimensión. En el ejemplo dos se muestra cómo combinar tareas de procesamiento en un solo script que se ejecuta según una programación. Para completar este tutorial, deberá cumplir los siguientes requisitos previos.

Prerrequisitos

Se debe instalar el servicio agente SQL Server.

De forma predeterminada, los trabajos se ejecutan en la cuenta de servicio. En SQL Server 2012, la cuenta predeterminada del Agente SQL Server es NT Service\SQLAgent$<instancename>. Para realizar una tarea de copia de seguridad o procesamiento, esta cuenta debe ser administrador del sistema en la instancia de Analysis Services. Para obtener más información, vea Conceder permisos de administrador del servidor (Analysis Services).

También debe tener una base de datos de prueba con la que trabajar. Puede implementar la base de datos de ejemplo multidimensional AdventureWorks o un proyecto desde el tutorial multidimensional de Analysis Services para usarlo en este tutorial. Para obtener más información, vea Instalación de proyectos y datos de ejemplo para el Tutorial de modelado multidimensional de Analysis Services.

Ejemplo 1: Procesamiento de una dimensión en una tarea programada

En este ejemplo se muestra cómo crear y programar un trabajo que procesa una dimensión.

Una tarea programada de Analysis Services es un script XMLA incrustado en un trabajo del Agente SQL Server. Este trabajo está programado para ejecutarse en horas y frecuencia deseadas. Dado que el Agente SQL Server forma parte de SQL Server, trabaja con el motor de base de datos y Analysis Services para crear y programar una tarea administrativa.

Creación de un script para procesar una dimensión en un trabajo del Agente SQL Server

  1. En SQL Server Management Studio, conéctese a Analysis Services. Abra una carpeta de base de datos y busque una dimensión. Haga clic con el botón derecho en la dimensión y seleccione Procesar.

  2. En el cuadro de diálogo Dimensión de proceso, en la columna Opciones de proceso bajo lista de objetos, compruebe que la opción de esta columna es Process Full. Si no es así, en Opciones de proceso, haga clic en la opción y seleccione Procesar completo en la lista desplegable.

  3. Haga clic en Script.

    Este paso abre una ventana consulta XML que contiene el script XMLA que procesa la dimensión.

  4. En el cuadro de diálogo Dimensión de proceso , haga clic en Cancelar para cerrar el cuadro de diálogo.

  5. En la ventana Consulta XMLA , resalte el script XMLA, haga clic con el botón derecho en el script resaltado y seleccione Copiar.

    Este paso copia el script XMLA en el Portapapeles de Windows. Puede dejar el script XMLA en el Portapapeles o pegarlo en el Bloc de notas u otro editor de texto. A continuación se muestra un ejemplo del script XMLA.

    <Batch xmlns="https://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">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Account</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    

Creación y programación del trabajo de procesamiento de dimensiones

  1. Conéctese a una instancia del motor de base de datos y abra el Explorador de objetos.

  2. Expanda Agente de SQL Server.

  3. Haga clic con el botón derecho en Trabajos y seleccione Nuevo trabajo.

  4. En el cuadro de diálogo Nuevo trabajo , escriba un nombre de trabajo en Nombre.

  5. En Seleccionar una página, seleccione Pasos y, a continuación, haga clic en Nuevo.

  6. En el cuadro de diálogo Nuevo paso de trabajo , escriba un nombre de paso en Nombre del paso.

  7. En Servidor, escriba localhost para una instancia predeterminada de Analysis Services y localhost\<nombre de instancia para una instancia con nombre>.

    Si va a ejecutar el trabajo desde un equipo remoto, use el nombre del servidor y el nombre de instancia donde se ejecutará el trabajo. Use el formato <nombre del servidor> para una instancia predeterminada, y <nombre del servidor>\<nombre de instancia> para una instancia con nombre.

  8. En Tipo, seleccione Comando de SQL Server Analysis Services.

  9. En Comando, haga clic con el botón derecho y seleccione Pegar. El script XMLA que generó en el paso anterior debería aparecer en la ventana de comandos.

  10. Haz clic en Aceptar.

  11. En Seleccionar una página, haga clic en Programaciones y, a continuación, haga clic en Nuevo.

  12. En el cuadro de diálogo Nueva programación de trabajo , escriba un nombre de programación en Nombre y, a continuación, haga clic en Aceptar.

    Este paso crea una programación para el domingo a las 12:00 a. m. En el paso siguiente se muestra cómo ejecutar manualmente el trabajo. También puede especificar una programación que ejecute el trabajo mientras lo supervisa.

  13. En el cuadro de diálogo Nuevo trabajo , haga clic en Aceptar.

  14. En el Explorador de objetos, expanda Trabajos, haga clic con el botón derecho en el trabajo que creó y, a continuación, seleccione Iniciar trabajo en paso.

    Dado que el trabajo solo tiene un paso, el trabajo se ejecuta inmediatamente. Si el trabajo contiene más de un paso, puede seleccionar el paso en el que se debe iniciar el trabajo.

  15. Cuando finalice el trabajo, haga clic en Cerrar.

Ejemplo 2: Procesamiento por lotes de una dimensión y una partición en una tarea programada

Los procedimientos de este ejemplo muestran cómo crear y programar un trabajo que procesa por lotes una dimensión de base de datos de Analysis Services y al mismo tiempo procesar una partición de cubo que depende de la dimensión de agregación. Para obtener más información sobre el procesamiento por lotes de objetos de Analysis Services, vea Procesamiento por lotes (Analysis Services) .

Creación de un script para procesar por lotes una dimensión y una partición en un trabajo del Agente SQL Server

  1. Con la misma base de datos, expanda Dimensiones, haga clic con el botón derecho en la dimensión Customer y seleccione Procesar.

  2. En el cuadro de diálogo de Proceso Dimensión, en la columna Opciones de proceso de la lista de objetos, compruebe que la opción de esta columna es Proceso completo.

  3. Haga clic en Script.

    Este paso abre una ventana consulta XML que contiene el script XMLA que procesa la dimensión.

  4. En el cuadro de diálogo Dimensión de proceso , haga clic en Cancelar para cerrar el cuadro de diálogo.

  5. Expanda Cubos, Adventure Works, Grupos de medida, Ventas por Internet, Particiones, haga clic con el botón derecho en la última partición de la lista y, a continuación, seleccione Procesar.

  6. En el cuadro de diálogo Procesar partición, en la columna Opciones de proceso de la lista de objetos, compruebe que la opción de esta columna es Procesar todo.

  7. Haga clic en Script.

    Este paso abre una segunda ventana consulta XML que contiene el script XMLA que procesa la partición.

  8. En el cuadro de diálogo Partición de proceso, haga clic en Cancelar para cerrar el editor.

    En este punto, debe combinar los dos scripts y asegurarse de que primero se procese la dimensión.

    Advertencia

    Si la partición se procesa primero, el procesamiento de dimensiones posterior hace que la partición se desprocese. A continuación, la partición requeriría un segundo procesamiento para alcanzar un estado procesado.

  9. En la ventana Consulta XMLA que contiene el script XMLA que procesa la partición, resalte el código dentro de las Batch etiquetas y Parallel , haga clic con el botón derecho en el script resaltado y seleccione Copiar.

    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID> Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID> Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
    
  10. Abra la ventana Consulta XMLA que contiene el script XMLA que procesa la dimensión. Haga clic con el botón derecho en el script a la izquierda de la </Process> etiqueta y seleccione Pegar.

    En el ejemplo siguiente se muestra el script XMLA revisado.

    <Batch xmlns="https://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">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Customer</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID>Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    
  11. Resalte el script XMLA revisado, haga clic con el botón derecho en el script resaltado y seleccione Copiar.

  12. Este paso copia el script XMLA en el Portapapeles de Windows. Puede dejar el script XMLA en el Portapapeles, guardarlo en un archivo o pegarlo en el Bloc de notas u otro editor de texto.

Creación y programación del trabajo de procesamiento por lotes

  1. Conéctese a una instancia de SQL Server y, a continuación, abra el Explorador de objetos.

  2. Expanda Agente de SQL Server. Comience el servicio si no está en funcionamiento.

  3. Haga clic con el botón derecho en Trabajos y seleccione Nuevo trabajo.

  4. En el cuadro de diálogo Nuevo trabajo , escriba un nombre de trabajo en Nombre.

  5. En Pasos, haga clic en Nuevo.

  6. En el cuadro de diálogo Nuevo paso de trabajo , escriba un nombre de paso en Nombre del paso.

  7. En Tipo, seleccione Comando de SQL Server Analysis Services.

  8. En Ejecutar como, seleccione la cuenta de servicio del agente de SQL Server. Recuerde de la sección Requisitos previos que esta cuenta debe tener permisos administrativos en Analysis Services.

  9. En Servidor, especifique el nombre del servidor de la instancia de Analysis Services.

  10. En Comando, haga clic con el botón derecho y seleccione Pegar.

  11. Haz clic en Aceptar.

  12. En la página Programaciones , haga clic en Nuevo.

  13. En el cuadro de diálogo Nueva programación de trabajo , escriba un nombre de programación en Nombre y, a continuación, haga clic en Aceptar.

    Este paso crea una programación para el domingo a las 12:00 a. m. En el paso siguiente se muestra cómo ejecutar manualmente el trabajo. También puede seleccionar una programación que ejecutará el trabajo cuando lo esté supervisando.

  14. Haga clic en OK (Aceptar) para cerrar el cuadro de diálogo.

  15. En el Explorador de objetos, expanda Trabajos, haga clic con el botón derecho en el trabajo que creó y seleccione Iniciar trabajo en paso.

    Dado que el trabajo solo tiene un paso, el trabajo se ejecuta inmediatamente. Si el trabajo contiene más de un paso, puede seleccionar el paso en el que se debe iniciar el trabajo.

  16. Cuando finalice el trabajo, haga clic en Cerrar.

Véase también

Opciones y configuración de procesamiento (Analysis Services)
Guionizar tareas administrativas en Analysis Services