Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Ez a cikk áttekintést nyújt az SQL Server Agentről, amely egy Microsoft Windows-szolgáltatás, amely ütemezett felügyeleti feladatokat (úgynevezett feladatokat) hajt végre az SQL Serveren és a felügyelt Azure SQL-példányon.
Fontos
Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. A részletekért tekintse meg az SQL Server és az Azure SQL Managed Instance közötti T-SQL eltéréseket , vagy az SQL Agent feladatok korlátozásait az Azure SQL Managed Instance esetében .
Az SQL Server Agent előnyei
Az SQL Server-ügynök az SQL Server használatával tárolja a feladatadatokat. A feladatok egy vagy több feladatlépést tartalmaznak. Minden lépés tartalmazza a saját feladatát, például egy adatbázis biztonsági mentését.
Az SQL Server Agent egy feladatot ütemezés szerint, adott eseményre vagy igény szerint futtathat. Ha például az összes vállalati kiszolgálóról szeretne biztonsági másolatot készíteni minden hétköznap órák után, automatizálhatja ezt a feladatot. Ütemezze a biztonsági mentést, hogy hétfőtől péntekig 22:00 után fusson. Ha a biztonsági mentés problémát tapasztal, az SQL Server-ügynök rögzítheti az eseményt, és értesítheti Önt.
Megjegyzés:
Alapértelmezés szerint az SQL Server Agent szolgáltatás le van tiltva az SQL Server telepítésekor, kivéve, ha a felhasználó kifejezetten a szolgáltatás automatikus elindítása mellett dönt.
SQL Server-ügynök összetevői
Az SQL Server Agent a következő összetevőket használja az elvégzendő feladatok meghatározásához, a feladatok végrehajtásának időpontjához és a feladatok sikerességének vagy sikertelenségének jelentéséhez.
Az SQL Server Configuration Managerrel kezelheti az SQL Server Agent szolgáltatást, és az SQL Server Management Studio (SSMS) használatával egyszerűen kezelheti az SQL Server-ügynök tulajdonságait, feladatait, riasztásait, operátorait és proxyit egy grafikus felhasználói felületen.
Munkahelyek
A feladat az SQL Server Agent által végrehajtott műveletek megadott sorozata. Feladatok segítségével határozhat meg egy adminisztratív feladatot, amely egyszer vagy többször futtatható, és figyelhető a sikeres vagy sikertelen végrehajtás szempontjából. A feladatok egy helyi kiszolgálón vagy több távoli kiszolgálón is futtathatók.
Fontos
Az SQL Server-ügynök azon feladatai, amelyek egy SQL Server-feladatátvevő fürtpéldány feladatátvételi eseményének időpontjában futnak, nem folytatódnak a feladatátvétel után egy másik feladatátvevő fürtcsomópontra. A Hyper-V csomópont szüneteltetésekor futó SQL Server Agent-feladatok nem folytatódnak, ha a szüneteltetés feladatátvételt okoz egy másik csomópontra. A feladatátvételi esemény miatt megindult, de nem befejezett feladatokat a rendszer elindítva naplózza, de nem jelenít meg további naplóbejegyzéseket a befejezéshez vagy a sikertelenséghez. Úgy tűnik, hogy ezekben a forgatókönyvekben az SQL Server Agent-feladatok soha nem fejeződtek be.
A feladatokat többféleképpen is futtathatja:
Egy vagy több ütemezés szerint.
Egy vagy több riasztásra válaszul.
A(z)
sp_start_job
tárolt eljárás végrehajtásával.
Egy feladat minden művelete egy feladatlépés. Egy feladatlépés lehet például egy Transact-SQL utasítás futtatása, egy SSIS-csomag végrehajtása vagy egy parancs kiadása egy Analysis Services-kiszolgálónak. A feladat lépéseit egy feladat részeként kezeli a rendszer.
Minden feladatlépés egy adott biztonsági környezetben fut. A Transact-SQL-t használó feladatlépések esetén az EXECUTE AS utasítás használatával állítsa be a feladatlépés biztonsági környezetét. Más típusú feladatlépésekhez használjon proxyfiókot a feladatlépés biztonsági környezetének beállításához.
A sp_help_job rendszer által tárolt eljárással információkat talál egy adott feladatról. A dbo.sysjobs rendszertáblával megtekintheti a feladatokra vonatkozó információkat. A következő Transact-SQL (T-SQL) utasítással például megtekintheti a kiszolgálón lévő összes feladat adatait:
USE MSDB
GO
SELECT job_id, [name] FROM dbo.sysjobs;
Ütemterv
Az ütemterv meghatározza, hogy mikor fut egy feladat. Több feladat is futtatható ugyanazon az ütemezésen, és több ütemezés is vonatkozhat ugyanarra a feladatra. Az ütemezés a következő feltételeket határozhatja meg egy feladat futtatásakor:
Amikor az SQL Server Agent elindul.
Amikor a számítógép cpu-kihasználtsága tétlenként definiált szinten van.
Egyszer, egy adott dátumon és időpontban.
Ismétlődő ütemezés szerint.
További információ: Ütemezések létrehozása és csatolása feladatokhoz.
Figyelmeztetések
A riasztás egy adott eseményre adott automatikus válasz. Egy esemény lehet például egy elinduló feladat vagy egy adott küszöbértéket elérő rendszererőforrás. Ön határozza meg a riasztások előfordulásának feltételeit.
A riasztások a következő feltételek egyikére reagálhatnak:
SQL Server-események
SQL Server teljesítményfeltételek
Microsoft Windows Management Instrumentation (WMI) események azon a számítógépen, amelyen az SQL Server Agent fut
A riasztások a következő műveleteket hajthatják végre:
Értesítsen egy vagy több operátort
Feladat futtatása
További információ: Riasztások.
Működtetők
Az operátor az SQL Server egy vagy több példányának karbantartásáért felelős személy kapcsolattartási adatait határozza meg. Egyes vállalatoknál az üzemeltetői felelősségek egy személyhez vannak rendelve. A több kiszolgálóval rendelkező vállalatokban sok személy osztozhat az operátori felelősségekben. Az operátor nem tartalmaz biztonsági információt, és nem határoz meg biztonsági főazonosítót.
Az SQL Server a riasztások operátorait a...
E-mail
Pager (e-mailen keresztül)
net send
Megjegyzés:
Ha net send használatával szeretne értesítéseket küldeni, a Windows Messenger szolgáltatást azon a számítógépen kell elindítani, amelyen az SQL Server Agent található.
Fontos
A Pager és a net send beállításokat egy későbbi SQL Server-verzióban eltávolítják az SQL Server-ügynökből. Ne használja ezeket a funkciókat az új fejlesztési munkában, és tervezze módosítani azokat az alkalmazásokat, amelyek jelenleg használják ezeket a funkciókat.
Ha e-mailekkel vagy lapozókkal szeretne értesítéseket küldeni az operátoroknak, konfigurálnia kell az SQL Server-ügynököt a Database Mail használatára. További információ: Database Mail.
Az operátorokat egyéni csoportok aliasaként is definiálhatja. Ily módon a rendszer nem ellenőrzi egyszerre az alias minden tagját. További információ: Operátorok.
Az SQL Server-ügynök felügyeletének biztonsága
Az SQL Server Agent az SQLAgentUserRole, az SQLAgentReaderRole és az SQLAgentOperatorRole rögzített adatbázis-szerepkörök használatával szabályozza az msdb
SQL Server-ügynökhöz való hozzáférést azon felhasználók számára, akik nem tagjai a sysadmin rögzített kiszolgálói szerepkörnek. A rögzített adatbázis-szerepkörök mellett az alrendszerek és proxyk segítenek az adatbázis-rendszergazdáknak biztosítani, hogy minden feladatlépés a feladat elvégzéséhez szükséges minimális engedélyekkel fusson.
Szerepkörök
Az SQLAgentUserRole, az SQLAgentReaderRole és az SQLAgentOperatorRole rögzített adatbázis-szerepkörök msdb
tagjai és a sysadmin rögzített kiszolgálói szerepkör tagjai hozzáférhetnek az SQL Server Agenthez. Azok a felhasználók, amelyek nem tartoznak ezekhez a szerepkörökhöz, nem használhatják az SQL Server-ügynököt. Az SQL Server Agent által használt szerepkörökkel kapcsolatos további információkért lásd az SQL Server-ügynök biztonságának implementálását ismertető témakört.
Alrendszerek
Az alrendszer egy előre definiált objektum, amely egy feladatlépéshez elérhető funkciókat jelöl. Minden proxy egy vagy több alrendszerhez rendelkezik hozzáféréssel. Az alrendszerek azért biztosítanak biztonságot, mert elhatárolják a proxy számára elérhető funkciókhoz való hozzáférést. Minden feladatlépés egy proxy kontextusában fut, kivéve Transact-SQL feladatlépéseket. Transact-SQL feladat lépései az EXECUTE AS paranccsal állítják be a biztonsági környezetet a feladat tulajdonosának.
Az SQL Server az alábbi táblázatban felsorolt alrendszereket határozza meg:
Alrendszer neve | Leírás |
---|---|
Microsoft ActiveX-szkript | Futtasson egy ActiveX-szkriptelési feladatlépést. Figyelmeztetés Az ActiveX-szkriptelési alrendszer a Microsoft SQL Server egy későbbi verziójában törlődik az SQL Server-ügynökbő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. |
Operációs rendszer (CmdExec) | Végrehajtható program futtatása. |
PowerShell | Futtasson egy PowerShell-szkriptelési feladatlépést. |
Replikációs terjesztő | Futtasson egy feladatlépést, amely aktiválja a replikációs terjesztési ügynököt. |
Replikációs egyesítés | Futtasson egy feladatlépést, amely aktiválja a replikációs egybeolvasztási ügynököt. |
Replikációs üzenetsor-olvasó | Futtasson egy feladatlépést, amely aktiválja a replikációs üzenetsor-olvasó ügynököt. |
Replikációs pillanatkép | Futtasson egy feladatlépést, amely aktiválja a replikációs pillanatkép-ügynököt. |
Replikációs tranzakciónapló-olvasó | Futtasson egy feladatlépést, amely aktiválja a replikációs naplóolvasó ügynököt. |
Analysis Services-parancs | Futtasson egy Analysis Services-parancsot. |
Analysis Services-lekérdezés | Analysis Services-lekérdezés futtatása. |
SSIS-csomag végrehajtása | SSIS-csomag futtatása. |
Megjegyzés:
Mivel Transact-SQL feladat lépései nem használnak proxykat, nincs SQL Server Agent-alrendszer Transact-SQL feladatlépésekhez.
Az SQL Server Agent akkor is érvényesít alrendszerkorlátozásokat, ha a proxy biztonsági tagjának általában engedélye van a feladat feladatlépésben való futtatására. Például egy olyan felhasználó proxyja, amely a sysadmin rögzített kiszolgálói szerepkör tagja, csak akkor futtathat SSIS-feladatlépést, ha a proxy hozzáfér az SSIS-alrendszerhez, annak ellenére, hogy a felhasználó SSIS-csomagokat futtathat.
Legközelebbi
Az SQL Server Agent proxykkal kezeli a biztonsági környezeteket. A proxy több feladatlépésben is használható. A sysadmin rögzített kiszolgálói szerepkör tagjai proxykat hozhatnak létre.
Minden proxy egy biztonsági hitelesítő adatnak felel meg. Minden proxy társítható alrendszerek készletéhez és bejelentkezések készletéhez. A proxy csak a proxyhoz társított alrendszert használó feladatlépésekhez használható. Egy adott proxyt használó feladatlépés létrehozásához a feladat tulajdonosának vagy az adott proxyhoz társított bejelentkezést kell használnia, vagy egy olyan szerepkör tagját, amely korlátlan hozzáféréssel rendelkezik a proxykhoz. A sysadmin rögzített kiszolgálói szerepkör tagjai korlátlan hozzáféréssel rendelkeznek a proxykhoz. Az SQLAgentUserRole, az SQLAgentReaderRole vagy az SQLAgentOperatorRole tagjai csak olyan proxykat használhatnak, amelyekhez adott hozzáférést kaptak. Minden felhasználónak, aki tagja ezeknek az SQL Server Agent rögzített adatbázis-szerepköröknek, hozzáférést kell biztosítani bizonyos proxykhoz, hogy a felhasználó létrehozhatja azokat a feladatlépéseket, amelyek ezeket a proxykat használják.
Felügyelet automatizálása
Az SQL Server Agent konfigurálásához kövesse az alábbi lépéseket az SQL Server felügyeletének automatizálásához:
Állapítsa meg, hogy mely felügyeleti feladatok vagy kiszolgálóesemények történnek rendszeresen, és hogy ezek a feladatok vagy események programozott módon felügyelhetők-e. A feladatok akkor alkalmasak az automatizálásra, ha kiszámítható lépéssort igényelnek, és egy adott időpontban vagy egy adott eseményre reagálva történnek.
Feladatokat, ütemezéseket, riasztásokat és operátorokat határozhat meg az SQL Server Management Studio, Transact-SQL szkriptek vagy SQL Server Management Objects (SMO) használatával. További információ: Feladatok létrehozása.
Futtassa a definiált SQL Server Agent-feladatokat.
Megjegyzés:
Az SQL Server alapértelmezett példánya esetén az SQL Server szolgáltatás neve SQLSERVERAGENT. Nevesített példányok esetén az SQL Server Agent szolgáltatás neve SQLAgent$instancename.
Ha több SQL Server-példányt futtat, többkiszolgálós felügyelettel automatizálhatja az összes példányban gyakori feladatokat. További információ: Automatizált felügyelet vállalaton keresztül.
Az SQL Server-ügynök használatának első lépései a következő feladatok:
Leírás | Cikk |
---|---|
Az SQL Server-ügynök konfigurálását ismerteti. | SQL Server-ügynök konfigurálása |
Ismerteti, hogyan indíthatja el, állíthatja le és szüneteltetheti az SQL Server Agent szolgáltatást. | SQL Server-ügynökszolgáltatás indítása, leállítása vagy szüneteltetése |
Az SQL Server Agent szolgáltatáshoz tartozó fiók megadásának szempontjait ismerteti. | Fiók kiválasztása az SQL Server Agent Service-hez |
Az SQL Server-ügynök hibanaplójának használatát ismerteti. | SQL Server-ügynök hibanaplója |
A teljesítményobjektumok használatát ismerteti. | Teljesítményobjektumok használata |
A karbantartási terv varázslót ismerteti, amely egy olyan segédprogram, amelyet feladatok, riasztások és operátorok létrehozásával automatizálhat egy SQL Server-példány felügyeletének automatizálásához. | Használja a karbantartási terv varázslót |
Ismerteti, hogyan automatizálhatja a felügyeleti feladatokat az SQL Server Agent használatával. | Automatizált adminisztrációs feladatok (SQL Server-ügynök) |
NOSQLPS
Az SQL Server 2019-től kezdve letilthatja az SQLPS-t. Hozzáadhatja a #NOSQLPS
kódot a PowerShell típusú feladatlépés első sorához, amely megakadályozza, hogy az SQL Agent automatikusan betöltse az SQLPS modult. Most az SQL Agent-feladat futtatja a gépen telepített PowerShell-verziót, majd bármilyen más, tetszés szerint használható PowerShell-modult használhat.
Ha az SQLServer modult szeretné használni az SQL Agent-feladat lépésben, ezt a kódot a szkript első két sorára helyezheti.
#NOSQLPS
Import-Module -Name SqlServer