Dela via


Skapa ett CmdExec-jobbsteg

gäller för:SQL ServerAzure SQL Managed Instance

Viktigt!

Azure SQL Managed Instancestöds de flesta, men inte alla SQL Server Agent-funktioner för närvarande. Mer information finns i T-SQL-skillnader i Azure SQL Managed Instance från SQL Server - eller SQL Agent-jobbbegränsningar i SQL Managed Instance .

Det här avsnittet beskriver hur du skapar och definierar ett Microsoft SQL Server Agent-jobbsteg i SQL Server som använder ett körbart program eller operativsystemkommando med hjälp av SQL Server Management Studio, Transact-SQL eller SQL Server Management Objects.

Innan du börjar

Säkerhet

Som standard kan endast medlemmar i den fasta serverrollen sysadmin skapa CmdExec-jobbsteg. De här jobbstegen körs i kontexten för SQL Server Agent-tjänstkontot såvida inte sysadmin-användaren skapar ett proxykonto. Användare som inte är medlemmar i sysadmin-rollen kan skapa CmdExec-jobbsteg om de har åtkomst till ett CmdExec-proxykonto.

Behörigheter

Detaljerad information finns i Implementera SQL Server Agent Security.

Använda SQL Server Management Studio

Så här skapar du ett CmdExec-jobbsteg

  1. I Object Explorer, anslut till en instans av SQL Server Database Engine, och utöka sedan den instansen.

  2. Expandera SQL Server Agent, skapa ett nytt jobb eller högerklicka på ett befintligt jobb och klicka sedan på Egenskaper.

  3. I dialogrutan Jobbegenskaper klickar du på fliken Steg och därefter på Ny.

  4. I dialogrutan Nytt jobbsteg skriver du ett jobb Stegnamn.

  5. I listan Typ väljer du Operativsystem (CmdExec).

  6. I listan Kör som väljer du proxykontot med de autentiseringsuppgifter som jobbet ska använda. Som standard körs CmdExec-jobbsteg i kontexten för SQL Server Agent-tjänstkontot.

  7. I rutan Processavslutskod för ett lyckat kommando anger du ett värde från 0 till 999999.

  8. I rutan Kommando anger du operativsystemets kommando eller körbara program. Se "Använda Transact T-SQL för ett exempel.

  9. Klicka på sidan Avancerat för att ange alternativ för jobbsteg, till exempel: vilken åtgärd som ska vidtas om jobbsteget lyckas eller misslyckas, hur många gånger SQL Server Agent ska försöka köra jobbsteget och filen där SQL Server Agent kan skriva jobbstegets utdata. Endast medlemmar i sysadmin fastställd serverroll kan skriva jobbstegutdata till en operativsystemfil.

Använda Transact-SQL

Så här skapar du ett CmdExec-jobbsteg

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I fältet Standard klickar du på Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och klicka på Kör.

    -- 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  
    

Mer information finns i sp_add_jobstep (Transact-SQL)

Använda SQL Server-hanteringsobjekt

Så här skapar du ett CmdExec-jobbsteg

Använd klassen JobStep med hjälp av ett programmeringsspråk som du väljer, till exempel Visual Basic, Visual C# eller PowerShell.