Munka lépéseinek kezelése
A következőkre vonatkozik:SQL Server
Felü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.
Kapcsolódó tevékenységek
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)