Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Viktigt!
På 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 .
Ett jobbsteg är en åtgärd som jobbet vidtar på en databas eller en server. Varje jobb måste ha minst ett jobbsteg. Jobbsteg kan vara:
- Körbara program och operativsystemkommandon.
- Transact-SQL-uppgifter, inklusive lagrade procedurer och utökade procedurer.
- PowerShell-skript.
- Replikationsuppgifter
- Analysis Services-uppgifter.
- Integration Services-paket.
Varje jobbsteg körs i en specifik säkerhetskontext. Om jobbsteget anger en proxy körs jobbsteget i säkerhetskontexten för proxyns autentiseringsuppgifter. Om ett jobbsteg inte anger någon proxy körs jobbsteget i kontexten för SQL Server Agent-tjänstkontot. Endast medlemmar i den fasta serverrollen sysadmin kan skapa jobb som inte uttryckligen anger en proxy.
Eftersom jobbsteg körs i kontexten för en specifik Windows-användare måste användaren ha de behörigheter och den konfiguration som krävs för att jobbsteget ska kunna köras. Om du till exempel skapar ett jobb som kräver en enhetsbeteckning eller en UNC-sökväg (Universal Naming Convention) kan jobbstegen köras under ditt Windows-användarkonto när du testar uppgifterna. Windows-användaren för jobbsteget måste dock också ha nödvändiga behörigheter, enhetsbeteckningskonfigurationer eller åtkomst till den enhet som krävs. Annars misslyckas jobbsteget. För att förhindra det här problemet kontrollerar du att proxyn för varje jobbsteg har de behörigheter som krävs för den uppgift som jobbsteget utför. Mer information finns i Säkerhet för SQL Server Database Engine och Azure SQL Database.
Jobbstegsloggar
SQL Server-agenten kan skriva utdata från vissa jobbsteg, antingen till en operativsystemfil eller till tabellen sysjobstepslogs i msdb
databasen. Följande jobbstegstyper kan skriva utdata till båda mål:
- Körbara program och operativsystemkommandon.
- Transact-SQL-uttalanden.
- Analysis Services-uppgifter.
Endast jobbsteg som körs av användare som är medlemmar i den fasta serverrollen sysadmin kan skriva jobbstegutdata till operativsystemfiler. Om jobbstegen körs av användare som är medlemmar i SQLAgentUserRole, SQLAgentReaderRole eller SQLAgentOperatorRole-fasta databasroller i msdb
databasen, kan utdata från dessa jobbsteg endast skrivas till tabellen sysjobstepslogs.
Jobbstegsloggar tas bort automatiskt när jobb eller jobbsteg tas bort.
Anmärkning
Replikeringsaktiviteten och integreringstjänstens paketjobbsloggning hanteras av respektive undersystem. Du kan inte använda SQL Server Agent för att konfigurera stegloggning för de här typerna av jobbsteg.
Körbara program och operativsystemkommandon som jobbsteg
Körbara program och operativsystemkommandon kan användas som jobbsteg. Dessa filer kan ha filnamnstilläggen .bat, .cmd, .com eller .exe.
När du använder ett körbart program eller ett operativsystemkommando som ett jobbsteg måste du ange:
Processens slutkod returnerades om kommandot lyckades.
Kommandot som ska köras. Det här är bara själva kommandot för att köra ett operativsystemkommando. För ett externt program är detta namnet på programmet och argumenten till programmet, till exempel:
C:\Program Files\Microsoft SQL Server\160\Tools\Binn\sqlcmd.exe -e -q "sp_who"
Ange den fullständiga sökvägen till den körbara filen om den körbara filen inte finns i en katalog som anges i systemsökvägen eller sökvägen för användaren som jobbsteget körs som.
Transact-SQL arbetssteg
När du skapar ett Transact-SQL jobbsteg måste du:
Identifiera databasen där jobbet ska köras.
Skriv Transact-SQL-instruktionen som ska köras. Instruktionen kan anropa en lagrad procedur eller en förlängd lagrad procedur.
Du kan också öppna en befintlig Transact-SQL fil som kommando för jobbsteget.
Tips/Råd
T-SQL-jobbsteg i SQL Server Agent-jobb ändrar värdet på TEXTSIZE
, för att begränsa längden på vissa kolumner i resultatuppsättningar. Det här beteendet kan leda till oväntade resultat. Frågor som fungerar som förväntat i SQL Server Management Studio kan till exempel SELECT
returnera trunkerade kolumnvärden när de körs via SQL Server Agent. För att undvika trunkering anger du TEXTSIZE
i frågan som körs av T-SQL-jobbsteget.
Transact-SQL jobbsteg använder inte SQL Server Agent-proxyservrar. I stället körs jobbsteget i egenskap av ägare av jobbsteget, eller som SQL Server Agent-tjänstkontot om ägaren av jobbsteget är medlem i den fasta serverrollen sysadmin. Medlemmar i den fasta sysadmin-serverrollen kan också ange att Transact-SQL jobbsteg körs i kontexten för en annan användare med hjälp av parametern database_user_name för den sp_add_jobstep
lagrade proceduren. Mer information finns i sp_add_jobstep.
Anmärkning
Ett enda Transact-SQL jobbsteg kan innehålla flera batchar. Transact-SQL jobbstegen kan innehålla inbäddade GO-kommandon.
Steg för PowerShell-skriptjobb
När du skapar ett PowerShell-skriptjobbsteg måste du ange en av två saker som kommando för steget:
- Texten i ett PowerShell-skript.
- En befintlig PowerShell-skriptfil som ska öppnas.
SQL Server Agent PowerShell-undersystemet öppnar en PowerShell-session och laddar SQL Server PowerShell-snapin-modulerna. PowerShell-skriptet som används som jobbstegskommando kan referera till SQL Server PowerShell-providern och cmdletarna. Mer information om hur du skriver PowerShell-skript med hjälp av SQL Server PowerShell-snapin-moduler finns i SQL Server PowerShell.
Replikeringsjobbets steg
När du skapar publikationer och prenumerationer med replikering skapas replikeringsjobb som standard. Vilken typ av jobb som skapas bestäms av typen av replikering (ögonblicksbild, transaktionell eller sammanslagning) och de alternativ som används.
Replikeringsjobbssteg aktiverar en av dessa replikeringsagenter:
- Snapshot-agent (Snapshot-jobb)
- Log Reader Agent (LogReader-jobb)
- Distributionsagent (distributionsjobb)
- Sammanslagningsagent (jobb för sammanslagning)
- Queue Reader Agent (QueueReader-jobb)
När replikeringen har konfigurerats kan du ange att replikeringsagenterna ska köras på något av tre sätt: kontinuerligt när SQL Server-agenten har startats, på begäran eller enligt ett schema. Mer information om replikeringsagenter finns i Översikt över replikeringsagenter.
Jobbsteg för Analysis Services
SQL Server Agent stöder två olika typer av Analysis Services-jobbsteg, kommandojobbssteg och frågejobbssteg.
Steg för kommandouppgifter i Analysis Services
När du skapar ett Analysis Services-kommandojobbssteg måste du:
Identifiera databasens OLAP-server där jobbsteget ska köras.
Ange kommandot som ska utföras. Instruktionen måste vara ett XML för Analysis Services Execute-metoden. Instruktionen kanske inte innehåller ett fullständigt SOAP-kuvert eller en XML för Analysis Services Discover-metoden. Observera att även om SQL Server Management Studio stöder fullständiga SOAP-kuvert och metoden Identifiera , gör inte SQL Server Agent-jobbstegen det.
Steg för Analysis Services-frågejobb
När du skapar ett Analysis Services-frågejobbsteg måste du:
Identifiera databasens OLAP-server där jobbsteget ska köras.
Ange kommandot som ska utföras. Uttrycket måste vara en multidimensionella uttryck (MDX)-fråga.
Mer information om MDX finns i MDX Statement Fundamentals (MDX).
Integration Services-paket
När du skapar ett Integration Services-paketjobbsteg måste du göra följande:
Identifiera paketets källa.
Identifiera paketets plats.
Om konfigurationsfiler krävs för paketet identifierar du konfigurationsfilerna.
Om kommandofiler krävs för paketet identifierar du kommandofilerna.
Identifiera verifieringen som ska användas för paketet. Du kan till exempel ange att paketet måste signeras eller att paketet måste ha ett specifikt paket-ID.
Identifiera datakällorna för paketet.
Identifiera loggprovidrar för paketet.
Ange variabler och värden som ska anges innan paketet körs.
Identifiera körningsalternativ.
Lägg till eller ändra kommandoradsalternativ.
Om du distribuerade paketet till SSIS-katalogen och anger SSIS-katalogen som paketkälla hämtas mycket av den här konfigurationsinformationen automatiskt från paketet. På fliken Konfiguration kan du ange miljö, parametervärden, anslutningshanterarens värden, åsidosättningar av egenskaper och om paketet körs i en 32-bitars körningsmiljö.
Mer information om hur du skapar jobbsteg som kör Integration Services-paket finns i SQL Server Agent-jobb för paket.
Relaterade uppgifter
Beskrivning | Artikel |
---|---|
Beskriver hur du skapar ett jobbsteg med ett körbart program. | Skapa ett CmdExec-jobbsteg |
Beskriver hur du återställer SQL Server Agent-behörigheter. | Konfigurera en användare för att skapa och hantera SQL Server Agent-jobb |
Beskriver hur du skapar ett Transact-SQL arbetssteg. | Skapa ett Transact-SQL jobbsteg |
Beskriver hur du definierar alternativ för Microsoft SQL Server Agent Transact-SQL jobbsteg. | Definiera stegalternativ för Transact-SQL jobb |
Beskriver hur du skapar ett ActiveX-skriptjobbsteg. | Skapa ett ActiveX-skriptjobbsteg |
Beskriver hur du skapar och definierar SQL Server Agent-jobbsteg som kör SQL Server Analysis Services-kommandon och frågor. | Skapa ett Analysis Services-jobbsteg |
Beskriver vilken åtgärd SQL Server ska vidta om ett fel inträffar under jobbkörningen. | Ange flöde för lyckat eller misslyckat jobbsteg |
Beskriver hur du visar information om jobbsteg i dialogrutan Egenskaper för jobbsteg. | Visa jobbstegsinformation |
Beskriver hur du tar bort en SQL Server Agent-jobbsteglogg. | Ta bort en jobbstegslogg |