Megosztás a következőn keresztül:


Munka lépéseinek kezelése

A következőkre vonatkozik:SQL ServerFelügyelt Azure SQL-példány

Fontos

Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. Részletekért tekintse meg az Azure SQL Felügyelt Példány T-SQL eltéréseit az SQL Serverhez képest esetén.

A feladatlépés egy olyan művelet, amelyet a feladat egy adatbázison vagy kiszolgálón hajt végre. Minden feladatnak legalább egy feladatlépést kell tartalmaznia. A feladat lépései a következőek lehetnek:

  • Végrehajtható programok és operációsrendszer-parancsok.

  • Transact-SQL utasítások, beleértve a tárolt eljárásokat és a kiterjesztett tárolt eljárásokat.

  • PowerShell-szkriptek.

  • Microsoft ActiveX-szkriptek.

  • Replikációs feladatok.

  • Analysis Services feladatok.

  • Integration Services-csomagok.

Minden feladatlépés egy adott biztonsági környezetben fut. Ha a feladatlépés proxyt ad meg, a feladatlépés a proxy hitelesítő adatainak biztonsági kontextusában fut. Ha egy feladatlépés nem ad meg proxyt, a feladatlépés az SQL Server Agent szolgáltatásfiókjának kontextusában fut. Csak a sysadmin rögzített kiszolgálói szerepkör tagjai hozhatnak létre olyan feladatokat, amelyek nem határoznak meg explicit módon proxyt.

Mivel a feladatlépések egy adott Microsoft Windows-felhasználó kontextusában futnak, a felhasználónak rendelkeznie kell a feladat végrehajtásához szükséges engedélyekkel és konfigurációval. Ha például meghajtóbetűjelet vagy univerzális elnevezési konvenciós (UNC) elérési utat igénylő feladatot hoz létre, a feladatok tesztelése során a feladat lépései a Windows felhasználói fiókjában futhatnak. A feladatlépéshez tartozó Windows-felhasználónak azonban rendelkeznie kell a szükséges engedélyekkel, meghajtóbetűjel-konfigurációkkal vagy hozzáféréssel a szükséges meghajtóhoz. Ellenkező esetben a feladat lépése meghiúsul. A probléma elkerülése érdekében győződjön meg arról, hogy az egyes feladatlépések proxyja rendelkezik a feladatlépés végrehajtásához szükséges engedélyekkel. További információ: Security and Protection (Adatbázismotor).

Feladatlépési naplók

Az SQL Server Agent képes kimenetet írni néhány feladatlépésből egy operációsrendszer-fájlba vagy az msdb-adatbázis sysjobstepslogs táblájához. A következő feladatlépés-típusok mindkét célhelyre írhatnak kimenetet:

  • Végrehajtható programok és operációsrendszer-parancsok.

  • Transact-SQL állítások.

  • Analysis Services feladatok.

Csak a sysadmin fix szerver szerepkör tagjai által végrehajtott feladatlépések kimenete írható operációs rendszer fájlokba. Ha a feladatlépéseket olyan felhasználók hajtják végre, akik az SQLAgentUserRole, az SQLAgentReaderRole vagy az SQLAgentOperatorRole rögzített adatbázis-szerepkörök tagjai az msdb-adatbázisban, akkor a feladatlépések kimenete csak a sysjobstepslogs táblába írható.

A feladatlépési naplók automatikusan törlődnek a feladatok vagy feladatlépések törlésekor.

Jegyzet

A replikációs feladat és az Integration Services csomagfeladat-naplózását a megfelelő alrendszer kezeli. Az SQL Server Agent nem használható az ilyen típusú feladatlépések joglépés-naplózásának konfigurálásához.

Végrehajtható programok és Operating-System parancsok feladatlépésként

Végrehajtható programok és operációsrendszer-parancsok használhatók feladatlépésként. Ezek a fájlok .bat, .cmd, .com vagy .exe fájlkiterjesztéssel rendelkezhetnek.

Ha végrehajtható programot vagy operációsrendszer-parancsot használ feladatlépésként, meg kell adnia a következőket:

  • A folyamat kilépési kódja akkor lett visszaadva, ha a parancs sikeres volt.

  • A végrehajtandó parancs. Az operációs rendszer parancsának végrehajtásához ez egyszerűen maga a parancs. Külső program esetén ez a program neve és a program argumentumai, például: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"

    Jegyzet

    Meg kell adnia a végrehajtható teljes elérési útját, ha a végrehajtható fájl nem található a rendszer elérési útján megadott könyvtárban, vagy annak a felhasználónak az elérési útján, amelyként a feladatlépés fut.

Transact-SQL feladat lépései

Ha Transact-SQL feladatlépést hoz létre, a következőt kell tennie:

  • Azonosítsa azt az adatbázist, amelyben futtatni szeretné a feladatot.

  • Írja be a végrehajtandó Transact-SQL utasítást. Az utasítás meghívhat egy tárolt eljárást vagy egy kiterjesztett tárolt eljárást.

Igény szerint megnyithat egy meglévő Transact-SQL fájlt a feladatlépés parancsaként.

Transact-SQL feladat lépései nem használnak SQL Server-ügynök proxykat. Ehelyett a feladatlépés a feladatlépés tulajdonosaként vagy AZ SQL Server-ügynök szolgáltatásfiókjaként fut, ha a feladatlépés tulajdonosa a sysadmin rögzített kiszolgálói szerepkör tagja. A sysadmin rögzített kiszolgálói szerepkör tagjai azt is megadhatják, hogy a Transact-SQL feladatlépések egy másik felhasználó kontextusában fussanak a sp_add_jobstep tárolt eljárás database_user_name paraméterével. További információ: sp_add_jobstep (Transact-SQL).

Jegyzet

Egyetlen Transact-SQL feladatlépés több köteget tartalmazhat. Transact-SQL feladat lépései beágyazott GO-parancsokat tartalmazhatnak.

A PowerShell-szkriptelési feladat lépései

PowerShell-szkriptfeladat-lépés létrehozásakor a lépéshez két dolog egyikét kell megadnia:

  • Egy PowerShell-szkript szövege.

  • Meg kell nyitni egy meglévő PowerShell-szkriptfájlt.

Az SQL Server Agent PowerShell-alrendszere megnyitja a PowerShell-munkamenetet, és betölti az SQL Server PowerShell beépülő modulokat. A feladatlépési parancsként használt PowerShell-szkript hivatkozhat az SQL Server PowerShell-szolgáltatóra és parancsmagokra. A PowerShell-szkriptek SQL Server PowerShell beépülő modulokkal történő írásáról további információt az SQL Server PowerShell talál.

ActiveX-szkriptelési feladat lépései

Fontos

Az ActiveX-szkriptelési feladat lépése a Microsoft SQL Server egy későbbi verziójában törlődik az SQL Server Agentből. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

ActiveX-szkriptelési feladatlépés létrehozásakor a következőket kell tennie:

  • Azonosítsa a szkriptnyelvet, amelyben a feladatlépés meg van írva.

  • Írja meg az ActiveX-szkriptet.

A feladatlépés parancsaként megnyithat egy meglévő ActiveX-szkriptfájlt is. Alternatív megoldásként az ActiveX-szkriptparancsok külsőleg is lefordíthatók (például a Microsoft Visual Basic használatával), majd futtathatók végrehajtható programokként.

Ha a feladatlépési parancs egy ActiveX-szkript, az SQLActiveScriptHost objektummal kinyomtathatja a kimenetet a feladatlépések előzménynaplójába, vagy com-objektumokat hozhat létre. Az SQLActiveScriptHost egy globális objektum, amelyet az SQL Server Agent üzemeltető rendszere vezet be a szkriptnévtérbe. Az objektumnak két metódusa van (Nyomtatás és CreateObject). Az alábbi példa bemutatja, hogyan működik az ActiveX-szkriptelés a Visual Basic Scripting Editionben (VBScript).

' VBScript example for ActiveX Scripting job step  
' Create a Dmo.Server object. The object connects to the  
' server on which the script is running.  
  
Set oServer = CreateObject("SQLDmo.SqlServer")  
oServer.LoginSecure = True  
oServer.Connect "(local)"  
'Disconnect and destroy the server object  
oServer.DisConnect  
Set oServer = nothing  

Replikációs feladat lépései

Ha replikációval hoz létre kiadványokat és előfizetéseket, a replikációs feladatok alapértelmezés szerint létrejönnek. A létrehozott feladat típusát a replikáció típusa (pillanatkép, tranzakció vagy egyesítés) és a használt beállítások határozzák meg.

A replikációs feladat lépései aktiválják az alábbi replikációs ügynökök egyikét:

  • Pillanatkép-ügynök (Pillanatkép-feladat)

  • Naplóolvasó ügynök (LogReader-feladat)

  • Terjesztési ügynök (terjesztési feladat)

  • Egyesítési ügynök (Egyesítési feladat)

  • Üzenetsor-olvasó ügynök (QueueReader-feladat)

Ha a replikáció be van állítva, a replikációs ügynökök futtatását háromféleképpen adhatja meg: az SQL Server Agent elindítása után folyamatosan, igény szerint vagy ütemezés szerint. További információ a replikációs ügynökökről: replikációs ügynökök áttekintése.

Az Analysis Services feladatának lépései

Az SQL Server Agent két különböző típusú Analysis Services-feladatlépést, parancsfeladat-lépést és lekérdezési feladatlépést támogat.

Az Analysis Services parancsfeladatának lépései

Az Analysis Services parancsfeladatának létrehozásakor a következő lépéseket kell elvégeznie:

  • Azonosítsa azt az adatbázis OLAP-kiszolgálót, amelyben futtatni szeretné a feladatlépést.

  • Írja be a végrehajtandó utasítást. Az utasításnak XML formátumban kell lennie az Analysis Services végrehajtás metódushoz. Az utasítás nem tartalmazhat teljes SOAP-borítékot vagy XML-t az Analysis Serviceshez Discover metódushoz. Figyelje meg, hogy bár az SQL Server Management Studio támogatja a teljes SOAP-borítékokat, és a Discover metódust, az SQL Server Agent feladatának lépései nem.

Az Analysis Services lekérdezési feladatának lépései

Az Analysis Services lekérdezési feladatának létrehozásakor a következő lépéseket kell elvégeznie:

  • Azonosítsa azt az adatbázis OLAP-kiszolgálót, amelyben futtatni szeretné a feladatlépést.

  • Írja be a végrehajtandó utasítást. Az utasításnak egy többdimenziós kifejezést (MDX) tartalmazó lekérdezésnek kell lennie.

További információért az MDX-ről lásd: MDX utasítás alapjai (MDX).

Integrációs szolgáltatási csomagok

Integrációs szolgáltatások csomagfeladatának létrehozásakor a következőket kell tennie:

  • Azonosítsa a csomag forrását.

  • Azonosítsa a csomag helyét.

  • Ha konfigurációs fájlokra van szükség a csomaghoz, azonosítsa a konfigurációs fájlokat.

  • Ha parancsfájlokra van szükség a csomaghoz, azonosítsa a parancsfájlokat.

  • Azonosítsa a csomaghoz használandó ellenőrzést. Megadhatja például, hogy a csomagot alá kell írni, vagy hogy a csomagnak rendelkeznie kell egy adott csomagazonosítóval.

  • Azonosítsa a csomag adatforrását.

  • A csomag naplószolgáltatóinak azonosítása.

  • Adja meg a csomag futtatása előtt beállítandó változókat és értékeket.

  • A végrehajtási lehetőségek azonosítása.

  • Parancssori beállítások hozzáadása vagy módosítása.

Vegye figyelembe, hogy ha üzembe helyezte a csomagot az SSIS-katalógusba, és SSIS-katalógust adja meg a csomag forrásaként, a konfigurációs információk nagy része automatikusan lekérhető a csomagból. A Konfiguráció lapon megadhatja a környezetet, a paraméterértékeket, a kapcsolatkezelő értékeit, a tulajdonság felülbírálásait, valamint azt, hogy a csomag 32 bites futtatókörnyezetben fut-e.

További információ az Integration Services-csomagokat futtató feladatok létrehozásáról: SQL Server Agent Jobs for Packages.

Leírás Téma
Azt ismerteti, hogyan hozhat létre feladatlépést végrehajtható programokkal. Hozzon létre egy CmdExec-feladatlépést
Az SQL Server-ügynök engedélyeinek alaphelyzetbe állítását ismerteti. Felhasználó konfigurálása SQL Server-ügynökfeladatok létrehozásához és kezeléséhez
Ismerteti, hogyan hozhat létre egy Transact-SQL feladatlépést. Transact-SQL feladatlépés létrehozása
Ismerteti, hogyan definiálhat beállításokat a Microsoft SQL Server-ügynök Transact-SQL feladat lépéseihez. Transact-SQL feladatlépési beállítások megadása
Az ActiveX-szkriptfeladatok létrehozásának lépéseit ismerteti. ActiveX-szkriptfeladat létrehozása
Az SQL Server Analysis Services parancsokat és lekérdezéseket végrehajtó SQL Server Agent-feladatlépések létrehozása és definiálása. Analysis Services-feladatlépés létrehozása
Ismerteti, hogy az SQL Server milyen műveletet hajt végre, ha hiba történik a feladat végrehajtása során. Feladat sikerességének vagy hibafolyamatának beállítása
Ismerteti, hogyan tekintheti meg a feladatlépés részleteit a Feladatlépés tulajdonságai párbeszédpanelen. Feladat lépésinformációinak megtekintése
Az SQL Server-ügynök feladatnaplójának törlését ismerteti. Feladatlépési napló törlése

Lásd még:

sysjobstepslogs (Transact-SQL)
Feladatok létrehozása
sp_add_job (Transact-SQL)