Create an Analysis Services Job Step

 

Veröffentlicht: Mai 2016

In diesem Thema wird beschrieben, wie SQL Server -Agent-Auftragsschritte in SQL Server 2016 erstellt und definiert werden, mit denen SQL Server Analysis Services-Befehle und -Abfragen durch die Verwendung von SQL Server Management Studio, Transact-SQL oder SQL Server Management Objects ausgeführt werden.

Einschränkungen

  • Wenn beim Auftragsschritt ein Analysis Services-Befehl verwendet wird, muss die Befehlsanweisung eine Execute -Methode von XML for Analysis Services sein. Die Anweisung enthält möglicherweise keinen vollständigen SOAP-Umschlag (Simple Object Access Protocol) oder eine Discover-Methode von XML for Analysis. Während SQL Server Management Studio vollständige SOAP-Umschläge und die Discover -Methode unterstützt, ist das bei SQL Server -Agent-Auftragsschritten nicht der Fall. Weitere Informationen zu XML for Analysis Services finden Sie unter Übersicht über XMLA for Analysis (XMLA).

  • Wenn beim Auftragsschritt ein Analysis Services-Abfrage verwendet wird, muss die Abfrageanweisung eine MDX-Abfrage (Multidimensional Expressions, mehrdimensionale Ausdrücke) sein. Weitere Informationen zu MDX finden Sie unter Grundlegendes zur MDX-Anweisung (MDX).

Security

Berechtigungen

  • Um einen Auftragsschritt auszuführen, der das Analysis Services-Subsystem verwendet, muss ein Benutzer Mitglied der festen Serverrolle sysadmin sein oder Zugriff auf ein gültiges Proxykonto haben, das für die Verwendung dieses Subsystems definiert ist. Darüber hinaus muss es sich bei dem SQL Server -Agent-Dienstkonto oder Proxy um einen Analysis Services-Administrator und ein gültiges Windows-Domänenkonto handeln.

  • Nur Mitglieder der festen Serverrolle sysadmin sind berechtigt, die Ausgabe eines Auftragsschritts in eine Datei zu schreiben. Wenn der Auftragsschritt von Benutzern ausgeführt wird, die in der msdb -Datenbank Mitglied der SQLAgentUserRole -Datenbankrolle sind, können die Ausgabedaten nur in eine Tabelle geschrieben werden. SQL Server -Agent schreibt die Ausgabedaten des Auftragsschritts in der SQLAgentUserRole -Datenbank in die SQLAgentUserRole -Tabelle.

  • Ausführliche Informationen finden Sie unter Implement SQL Server Agent Security.

So erstellen Sie einen Auftragsschritt für den Analysis Services-Befehl

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbankmodulher, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie SQL Server-Agent, erstellen Sie einen neuen Auftrag, oder klicken Sie mit der rechten Maustaste auf einen vorhandenen Auftrag, und klicken Sie dann auf Eigenschaften. Weitere Informationen zum Erstellen eines Auftrags finden Sie unter Erstellen von Aufträgen.

  3. Klicken Sie im Dialogfeld Auftragseigenschaften auf die Registerkarte Schritte , und klicken Sie dann auf Neu.

  4. Geben Sie im Dialogfeld Neuer Auftragsschritt unter Schrittnameeinen Schrittnamen für den Auftrag ein.

  5. Klicken Sie in der Liste Typ auf SQL Server Analysis Services-Befehl.

  6. Wählen Sie in der Liste Ausführen als einen Proxy aus, der für die Verwendung des Analysis Services-Befehlssubsystems definiert ist. Ein Benutzer, der Mitglied der festen Serverrolle sysadmin ist, kann zur Ausführung dieses Auftragsschritts auch SQL-Agent-Dienstkonto auswählen.

  7. Wählen Sie den Server aus, auf dem der Auftragsschritt ausgeführt wird, oder geben Sie den Servernamen ein.

  8. Geben Sie im Feld Befehl die auszuführende Anweisung ein, oder klicken Sie auf Öffnen , um eine Anweisung auszuwählen.

  9. Klicken Sie auf die Seite Erweitert , um die Optionen für diesen Auftragsschritt zu definieren. Legen Sie beispielsweise fest, welche Aktion der SQL Server -Agent ausführen soll, wenn der Auftragsschritt erfolgreich ausgeführt wird oder fehlschlägt, wie viele Versuche zur Ausführung des Auftragsschritts unternommen werden sollen und wohin die Ausgabe des Auftragsschritts geschrieben werden soll.

So erstellen Sie einen Auftragsschritt für die Analysis Services-Abfrage

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbankmodulher, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie SQL Server-Agent, erstellen Sie einen neuen Auftrag, oder klicken Sie mit der rechten Maustaste auf einen vorhandenen Auftrag, und klicken Sie dann auf Eigenschaften. Weitere Informationen zum Erstellen eines Auftrags finden Sie unter Erstellen von Aufträgen.

  3. Klicken Sie im Dialogfeld Auftragseigenschaften auf die Seite Schritte und dann auf Neu.

  4. Geben Sie im Dialogfeld Neuer Auftragsschritt unter Schrittnameeinen Schrittnamen für den Auftrag ein.

  5. Klicken Sie in der Liste Typ auf SQL Server Analysis Services-Abfrage.

  6. Wählen Sie in der Liste Ausführen als einen Proxy aus, der für die Verwendung des Analysis Services-Abfragesubsystems definiert ist. Ein Benutzer, der Mitglied der festen Serverrolle sysadmin ist, kann zur Ausführung dieses Auftragsschritts auch SQL-Agent-Dienstkonto auswählen.

  7. Wählen Sie einen Wert unter Server und Datenbank für die Ausführung des Auftragsschritts aus, oder geben Sie den Server- bzw. Datenbanknamen ein.

  8. Geben Sie im Feld Befehl die auszuführende Anweisung ein, oder klicken Sie auf Öffnen , um eine Anweisung auszuwählen.

  9. Klicken Sie auf die Seite Erweitert , um die Optionen für diesen Auftragsschritt zu definieren. Legen Sie beispielsweise fest, welche Aktion der SQL Server -Agent ausführen soll, wenn der Auftragsschritt erfolgreich ausgeführt wird oder fehlschlägt, wie viele Versuche zur Ausführung des Auftragsschritts unternommen werden sollen und wohin die Ausgabe des Auftragsschritts geschrieben werden soll.

So erstellen Sie einen Auftragsschritt für den Analysis Services-Befehl

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Datenbankmodul-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    -- Creates a job step that uses XMLA to create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database ',  
        @subsystem = N'ANALYSISCOMMAND',  
        @command = N' <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
        <ParentObject>  
            <DatabaseID>AdventureWorks2012</DatabaseID>  
        </ParentObject>  
        <ObjectDefinition>  
            <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">  
                <ID>AdventureWorks2012</ID>  
                <Name>Adventure Works 2012</Name>  
                <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True</ConnectionString>  
                <ImpersonationInfo>  
                    <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>  
                </ImpersonationInfo>  
                <ManagedProvider>System.Data.SqlClient</ManagedProvider>  
                <Timeout>PT0S</Timeout>  
            </DataSource>  
        </ObjectDefinition>  
    </Create>', ;  
    GO  
    
    

Weitere Informationen finden Sie unter sp_add_jobstep (Transact-SQL).

So erstellen Sie einen Auftragsschritt für die Analysis Services-Abfrage

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Datenbankmodul-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    -- Creates a job step that uses MDX to return data  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Returns the Internet sales amount by state',  
        @subsystem = N'ANALYSISQUERY',  
        @command = N' SELECT  
       [Measures].[Internet Sales Amount] ON COLUMNS,  
       [Customer].[State-Province].Members ON ROWS  
    FROM [AdventureWorks2012]',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    
    

Weitere Informationen finden Sie unter sp_add_jobstep (Transact-SQL).

So erstellen Sie einen PowerShell-Skript-Auftragsschritt

Verwenden Sie die JobStep -Klasse in einer von Ihnen ausgewählten Programmiersprache, z. B. XMLA oder MDX. Weitere Informationen finden Sie unter SQL Server Management Objects (SMO).

Community-Beiträge

HINZUFÜGEN
Anzeigen: