Vytvoření kroku úlohy CmdExec

Platí pro: SQL ServerAzure SQL Managed Instance

Důležité

Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti najdete v tématu rozdíly T-SQL služby Azure SQL Managed Instance oproti SQL Serveru nebo omezení úloh agenta SQL ve službě SQL Managed Instance.

Toto téma popisuje, jak vytvořit a definovat krok úlohy agenta Microsoft SQL Serveru v SQL Serveru, který používá spustitelný program nebo příkaz operačního systému pomocí aplikace SQL Server Management Studio, Transact-SQL nebo sql Server Management Objects.

Než začnete

Zabezpečení

Ve výchozím nastavení mohou kroky úlohy CmdExec vytvářet pouze členové pevné role serveru sysadmin . Tyto kroky úlohy se spouští v kontextu účtu služby agenta SQL Server, pokud uživatel správce systému nevytvoří účet proxy. Uživatelé, kteří nejsou členy role sysadmin , mohou vytvořit kroky úlohy CmdExec, pokud mají přístup k účtu proxy serveru CmdExec.

Povolení

Podrobné informace naleznete v tématu Implementace zabezpečení agenta SQL Serveru.

Použití aplikace SQL Server Management Studio

Vytvoření kroku úlohy CmdExec

  1. Připojte se k instanci databázového stroje SQL Serveru v průzkumníku objektů a poté tuto instanci rozbalte.

  2. Rozbalte SQL Server Agent, vytvořte novou úlohu nebo klikněte pravým tlačítkem myši na existující úlohu a potom klikněte na Vlastnosti.

  3. V dialogovém okně Vlastnosti úlohy klepněte na stránku Kroky a potom klepněte na tlačítko Nový.

  4. V dialogovém okně Nový krok úlohy zadejte Název kroku úlohy.

  5. V seznamu Typ zvolte Operační systém (CmdExec).

  6. V seznamu Spustit jako vyberte účet proxy s přihlašovacími údaji, které bude úloha používat. Ve výchozím nastavení se kroky úlohy CmdExec spouští v kontextu účtu služby agenta SQL Serveru.

  7. V ukončovacím kódu procesu úspěšného příkazu zadejte hodnotu od 0 do 999999.

  8. Do pole Příkaz zadejte příkaz operačního systému nebo spustitelný program. Příklad najdete v tématu Použití jazyka Transact T-SQL.

  9. Kliknutím na stránku Upřesnit nastavíte možnosti kroku úlohy, například: jaká akce se má provést, pokud krok úlohy proběhne úspěšně nebo selže, kolikrát se má agent SQL Serveru pokusit provést krok úlohy a soubor, ve kterém může agent SQL Serveru zapsat výstup kroku úlohy. Pouze členové pevné serverové role sysadmin mohou zapisovat výstup z kroku úlohy do souboru operačního systému.

Použití Transact-SQL

Vytvoření kroku úlohy CmdExec

  1. V Průzkumníku objektůse připojte k instanci databázového stroje.

  2. Na panelu Standard klikněte na Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a klikněte na Spustit.

    -- creates a job step that uses CmdExec  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'CMDEXEC',  
        @command = 'C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

Další informace najdete v tématu sp_add_jobstep (Transact-SQL)

Použití objektů správy SQL Serveru

Vytvoření kroku úlohy CmdExec

Pomocí třídy JobStep použijte programovací jazyk, který zvolíte, například Visual Basic, Visual C# nebo PowerShell.