Rugalmas feladatok az Azure SQL Database-ben (előzetes verzió)

A következőre vonatkozik: Azure SQL Database

Ebben a cikkben áttekintjük az Azure SQL Database rugalmas feladatainak képességeit és részleteit.

  • A rugalmas feladatok konfigurálásáról szóló oktatóanyagot a rugalmas feladatok oktatóanyagában talál.
  • További információ az Azure-adatbázisplatformok automatizálási fogalmairól.

Megjegyzés:

A rugalmas feladatok előzetes verzióban érhetők el. A jelenleg előzetes verzióban elérhető funkciók kiegészítő használati feltételek mellett érhetők el, és tekintse át az előzetes verzióban lévő Azure-szolgáltatásokra vonatkozó jogi feltételeket. Az Azure SQL Database előzetes verziókat biztosít, amelyekkel kiértékelheti és megoszthatja visszajelzéseit a termékcsoporttal az általános elérhetővé válásuk előtt.

Rugalmas feladatok áttekintése

Létrehozhat és ütemezhet rugalmas feladatokat, amelyek rendszeres időközönként végrehajthatók egy vagy több Azure SQL-adatbázison a Transact-SQL (T-SQL) lekérdezések futtatásához és karbantartási feladatok elvégzéséhez.

Meghatározhat céladatbázist vagy adatbáziscsoportokat, ahol a feladatokat végre szeretné hajtani, és ütemezést is megadhat a feladatok futtatásához. A rugalmas feladatok összes dátuma és időpontja az UTC időzónában található.

A job handles the task of logging in to the target database. Emellett Transact-SQL-szkripteket is meghatározhat, fenntarthat és megőrizhet, amelyeket adatbázisok egy csoportján futtat.

Minden feladat naplózza a végrehajtás állapotát, és ha bármilyen hiba történik, automatikusan újrapróbálkozik a művelettel.

Mikor érdemes rugalmas feladatokat használni?

A rugalmas feladatok automatizálása több esetben is lehetséges:

  • Automatizálhatja a felügyeleti feladatokat, és ütemezheti őket hétköznaponként, órák után stb.
    • Sémamódosítások üzembe helyezése, hitelesítő adatok kezelése.
    • Teljesítményadat-gyűjtemény vagy bérlői (ügyfél-) telemetriai gyűjtemény.
    • Frissítheti a referenciaadatokat (az összes adatbázis által közösen használt információkat).
    • Adatok betöltése az Azure Blob Storage-ból.
  • A feladatokat úgy konfigurálhatja, hogy ismétlődően, például csúcsidőn kívül hajtsa végre az adatbázis-gyűjteményeket.
    • A lekérdezési adatokat az adatbázis-készletekből folyamatosan egy központi táblába gyűjtheti.
    • A lekérdezések folyamatosan végrehajthatók és konfigurálhatók további végrehajtandó feladatok aktiválására.
  • Adatok gyűjtése jelentéskészítéshez
    • Adatbázisok gyűjteményéből származó adatok összesítése egyetlen céltáblába.
    • Olyan hosszabban futó adatfeldolgozási lekérdezéseket hajthat végre nagy adatbáziskészleteken, amilyen például az ügyfél-telemetria gyűjtése. A rendszer az eredményeket egyetlen céltáblában gyűjti össze a további elemzéshez.
  • Adatáthelyezés
    • Egyéni fejlesztésű megoldásokhoz, üzleti automatizáláshoz vagy más feladatkezeléshez.
    • ETL-feldolgozás adatok kinyeréséhez/feldolgozásához/beszúrásához egy adatbázis táblái között.

Fontolja meg a rugalmas feladatokat, ha:

  • Rendelkeznie kell egy olyan feladatsal, amelyet rendszeresen, ütemezés szerint kell futtatni, egy vagy több adatbázist célozva.
  • Rendelkezik egy olyan feladatsal, amelyet egyszer kell futtatni, de több adatbázisban.
  • Feladatokat kell futtatnia az adatbázisok tetszőleges kombinációjával: egy vagy több önálló adatbázissal, a kiszolgálón található összes adatbázissal, egy rugalmas készletben lévő összes adatbázissal, és rugalmasabban belefoglalhatja vagy kizárhatja az adott adatbázisokat. A feladatok több kiszolgálón, több készleten, vagy akár különböző előfizetésekhez tartozó adatbázisokon is futtathatók. A kiszolgálókat és készleteket a rendszer futásidőben dinamikusan veszi számba, ezért a feladatok az összes olyan adatbázison futnak, amelyek a célcsoportban a végrehajtáskor megtalálhatók.
    • Ez jelentős különbség az SQL Agenttől, amely nem tudja dinamikusan számba adni a céladatbázisokat, különösen olyan SaaS-ügyfélforgatókönyvekben, ahol az adatbázisok dinamikusan vannak hozzáadva/törölve.

Rugalmas feladatösszetevők

Összetevő Leírás
Rugalmas feladatügynök Az az Azure-erőforrás, amelyet a feladatok futtatására és kezelésére hoz létre.
Feladat-adatbázis Egy adatbázis az Azure SQL Database-ben, amelyet a feladatügynök a feladattal kapcsolatos adatok, feladatdefiníciók stb. tárolására használ.
Feladat A feladatok olyan munkaegységek, amelyek egy vagy több feladatlépésből állnak. A feladatlépések meghatározzák a futtatandó T-SQL-szkriptet, valamint a szkript végrehajtásához szükséges egyéb részleteket.
Célcsoport Azon kiszolgálók, készletek és adatbázisok készlete, amelyen a feladat futtatható.

Rugalmas feladatügynök

A rugalmas feladatügynök a feladatok létrehozására, futtatására és kezelésére szolgáló Azure-erőforrás. A rugalmas feladatügynök a portálon létrehozott Azure-erőforrás (a PowerShell és a REST API is támogatott).

Rugalmas feladatügynök létrehozásához egy meglévő adatbázisra van szükség az Azure SQL Database-ben. Az ügynök ezt a meglévő Azure SQL Database-t konfigurálja feladatadatbázisként.

A feladatokat az Azure Portalon indíthatja el, tilthatja le vagy mondhatja le. Az Azure Portalon emellett megtekintheti a feladatdefiníciókat és a végrehajtási előzményeket.

A rugalmas feladatügynök költsége

A rugalmas feladatügynök ingyenes az aktuális előzetes verzióhoz. Az Azure Portalon az előzetes verzióban található számlázási kártyák a kiválasztott egyidejűségi kapacitásszint alapján jelenítik meg a költség becslését (amerikai dollárban). Ez jelenleg csak speciális költségbecslési célokra szolgál.

A feladatadatbázis számlázása ugyanolyan ütemben történik, mint az Azure SQL Database bármely adatbázisa.

Rugalmas feladatadatbázis

A feladatadatbázis a feladatok meghatározására és a feladatvégrehajtások állapotának és előzményeinek nyomon követésére szolgál. A feladatok céladatbázisokban lesznek végrehajtva. A feladatadatbázis az ügynök metaadatainak, naplóinak, eredményeinek, feladatdefinícióinak tárolására is használható, valamint számos hasznos tárolt eljárást és más adatbázis-objektumot tartalmaz a feladatok T-SQL használatával történő létrehozásához, futtatásához és kezeléséhez.

Az aktuális előzetes verzióhoz ajánlott egy meglévő adatbázis létrehozása az Azure SQL Database-ben (S1 vagy újabb) egy rugalmas feladatügynök létrehozásához.

A feladatadatbázisnak tiszta, üres, S1 vagy magasabb szolgáltatási célkitűzésnek kell lennie az Azure SQL Database-nek.

A feladat-adatbázis ajánlott szolgáltatási célkitűzése S1 vagy magasabb, de az optimális választás a feladat(ok) teljesítményigényétől függ: a feladatlépések száma, a feladatcélok száma és a feladatok futásának gyakorisága.

Ha a feladat-adatbázison végzett műveletek a vártnál lassabbak, figyelje az adatbázis teljesítményét és az erőforrás-kihasználtságot a feladatadatbázisban az Azure Portal vagy a sys.dm_db_resource_stats DMV használatával. Ha egy erőforrás, például a CPU, az adat IO vagy a naplóírás kihasználtsága 100%-kal közelít, és a lassúság időszakaival korrelál, fontolja meg az adatbázis növekményes skálázását magasabb szolgáltatási célokra (akár a DTU-modellben , akár a virtuális magmodellben), amíg a feladatadatbázis teljesítménye megfelelően nem javul.

Fontos

Ne módosítsa a meglévő objektumokat, és ne hozzon létre új objektumokat a feladatadatbázisban, bár a táblákból olvashat jelentéskészítéshez és elemzéshez.

Rugalmas feladatok és feladatok lépései

A feladatok ütemezetten vagy egyszeri feladatként végrehajtható munkaegységek. Egy feladat egy vagy több feladatlépésből áll.

Minden feladatlépés meghatároz egy végrehajtandó T-SQL-szkriptet, egy vagy több célcsoportot, amelyen a T-SQL-szkript futtatható és a feladatügynök számára a céladatbázishoz történő csatlakozáshoz szükséges hitelesítő adatokat. Minden feladatlépés testreszabható időtúllépési és újrapróbálkozási szabályzattal és választhatóan megadható kimeneti paraméterekkel rendelkezik.

Rugalmas feladatcélok

A rugalmas feladatok lehetővé teszik egy vagy több T-SQL-szkript egyidejű futtatását nagy számú adatbázison, ütemezés vagy igény szerint. A cél az Azure SQL Database bármely szintje lehet.

Ütemezett feladatokat az adatbázisok tetszőleges kombinációjával futtathat: egy vagy több önálló adatbázissal, a kiszolgálón lévő összes adatbázissal, a rugalmas készletben lévő összes adatbázissal, és rugalmasan felveheti vagy kizárhatja az adott adatbázisokat. A feladatok több kiszolgálón, több készleten, vagy akár különböző előfizetésekhez tartozó adatbázisokon is futtathatók. A kiszolgálókat és készleteket a rendszer futásidőben dinamikusan veszi számba, ezért a feladatok az összes olyan adatbázison futnak, amelyek a célcsoportban a végrehajtáskor megtalálhatók.

Az alábbi képen egy feladatügynök látható, amely különböző típusú célcsoportokon hajt végre feladatokat:

Conceptual diagram of elastic job agent using database credentials as authentication to target.

Célcsoport

A célcsoport határozza meg az azokat az adatbázisokat, amelyeket az adott feladatlépés végre lesz hajtva. A célcsoport tetszőleges számban és kombinációban tartalmazhatja a következőket:

  • Logikai SQL-kiszolgáló – ha egy kiszolgáló van megadva, a kiszolgálón a feladat végrehajtásakor létező összes adatbázis a csoport része. Az master adatbázis hitelesítő adatait meg kell adni, hogy a csoport a feladat végrehajtása előtt számba vehető és frissíthető legyen. További információ a logikai kiszolgálókról: Mi az a kiszolgáló az Azure SQL Database-ben és az Azure Synapse Analyticsben?
  • Rugalmas készlet – Ha meg van adva egy rugalmas készlet, a feladat végrehajtásának időpontjában a rugalmas készletben található összes adatbázis a csoport tagja lesz. A kiszolgáló esetében meg kell adni az master adatbázis hitelesítő adatait, hogy a csoport a feladat végrehajtása előtt frissíthető legyen.
  • Önálló adatbázis – adjon meg egy vagy több egyedi adatbázist, amelyet a csoport részévé kíván tenni.

Tipp.

A feladat végrehajtásakor a dinamikus számbavételezés újra kiértékeli a célcsoportokban található adatbázisokat, amelyek kiszolgálókat és készletet is tartalmaznak. A dinamikus számbavételezéssel biztosítható, hogy a feladatok a feladat végrehajtásakor a kiszolgálón vagy a készletben létező összes adatbázison fussanak. Az adatbázisok listájának futásidőben történő ismételt kiértékelése különösen hasznos olyan esetekben, amikor a készlet- vagy a kiszolgálótagság gyakran változik.

A készletek és az önálló adatbázisok megadhatók úgy, hogy a csoport részét képezzék vagy ki legyenek zárva a csoportból. Ez lehetővé teszi, hogy az adatbázisok tetszőleges kombinációjából hozzon létre céladatbázist. Hozzáadhat például egy kiszolgálót egy céladatbázishoz, miközben kizárja egy rugalmas készlet egyes adatbázisait (vagy egy egész rugalmas készletet).

A célcsoportok több előfizetésből és több régióból származó adatbázisokat is tartalmazhatnak. A régiók közötti végrehajtások nagyobb késéssel rendelkeznek, mint az ugyanazon a régión belüli végrehajtások.

Az alábbi példákban az látható, hogyan történik a különböző célcsoport-meghatározások dinamikus számba vétele a feladat végrehajtásának pillanatában, a feladat által futtatandó adatbázisok megadásához:

Diagram of target group examples.

  • Az 1. példában olyan célcsoport szerepel, amely egyedi adatbázisok listáját tartalmazza. Ha egy feladatlépést e célcsoport használatával hajt végre, akkor a szóban forgó műveletet a rendszer az összes adatbázison elvégzi.
  • A 2 . példa egy kiszolgálót célként tartalmazó célcsoportot mutat be. Ha egy feladatlépést e célcsoport használatával hajt végre, akkor a kiszolgáló dinamikus számba vételével a rendszer képes a kiszolgálón aktuálisan megtalálható adatbázisok listájának összeállítására. A szóban forgó műveletet a rendszer az összes adatbázison elvégzi.
  • A 3. példában a 2. példában lévőhöz hasonló célcsoport szerepel, amelyből viszont egy adott adatbázis ki van zárva. A szóban forgó műveletet a rendszer nem végzi el a kizárt adatbázison.
  • A 4. példában olyan célcsoport szerepel, amely célhelyként egy rugalmas készletet tartalmaz. A 2. példához hasonlóan a feladat futtatása során a készlet dinamikus számba vételével a rendszer képes a készletben lévő adatbázisok listájának összeállítására.

Diagram of examples of advanced scenarios with target group include and exclude rules.

  • Az 5 . és a 6 . példa olyan speciális forgatókönyveket mutat be, ahol a kiszolgálók, rugalmas készletek és adatbázisok kombinálhatók belefoglalási és kizárási szabályokkal.

Megjegyzés:

Maga a feladatadatbázis lehet a feladat célja. Ebben a forgatókönyvben a feladatadatbázis ugyanúgy lesz kezelve, mint bármely más céladatbázis. A feladatfelhasználónak létre kell hoznia és megfelelő engedélyeket kell adnia a feladatadatbázisban, és a feladatfelhasználó adatbázis-hatókörű hitelesítő adatainak is létezniük kell a feladatadatbázisban, ugyanúgy, mint bármely más céladatbázis esetében.

Hitelesítés

Válasszon egy metódust egy rugalmas feladatügynök összes célpontja számára. Egy rugalmas feladatügynök esetében például nem konfigurálhat egy célkiszolgálót adatbázis-hatókörű hitelesítő adatok használatára, egy másikat pedig a Microsoft Entra ID-hitelesítés használatára.

A rugalmas feladatügynök két hitelesítési lehetőséggel tud csatlakozni a célcsoport által megadott kiszolgálóhoz/adatbázishoz:

Az Azure Active Directory neve 2023-tól Microsoft Entra-azonosítóra változott.

Hitelesítés felhasználó által hozzárendelt felügyelt identitással (UMI)

A Microsoft Entra (korábbi nevén Azure Active Directory) hitelesítése felhasználó által hozzárendelt felügyelt identitással (UMI) ajánlott rugalmas feladatok azure SQL Database-hez való csatlakoztatásához. A Microsoft Entra ID támogatásával a feladatügynök képes lesz csatlakozni a céladatbázisokhoz (adatbázisokhoz, kiszolgálókhoz, rugalmas készletekhez) és kimeneti adatbázisokhoz az UMI használatával.

Diagram of how user-assigned managed identities (UMI) work with elastic jobs.

A Microsoft Entra ID-hitelesítés opcionálisan engedélyezhető a rugalmas feladatadatbázist tartalmazó logikai kiszolgálón is az adatbázis Microsoft Entra-azonosító kapcsolatain keresztüli eléréséhez/lekérdezéséhez. Maga a feladatügynök azonban belső tanúsítványalapú hitelesítést használ a feladatadatbázishoz való csatlakozáshoz.

Létrehozhat egy UMI-t, vagy használhat egy meglévő UMI-t, és ugyanazt az UMI-t több feladatügynökhöz rendelheti. Feladatügynökönként csak egy UMI támogatott. Miután hozzárendelt egy UMI-t egy feladatügynökhöz, ez a feladatügynök csak ezt az identitást fogja használni a t-SQL-feladatok céladatbázisokon való csatlakoztatásához és futtatásához. Az SQL-hitelesítés nem használható az adott feladatügynök célkiszolgálója/adatbázisai ellen.

Az UMI-névnek betűvel vagy számmal kell kezdődnie, és 3 és 128 közötti hosszúságúnak kell lennie. Tartalmazhatja a karaktereket és _ a - karaktereket.

Az Azure SQL Database UMI-ével kapcsolatos további információkért lásd az Azure SQL felügyelt identitásait, beleértve a szükséges lépéseket és az UMI Azure SQL Database logikai kiszolgálóidentitásként való használatának előnyeit. További információ: A Microsoft Entra (korábbi nevén Azure Active Directory) használata az Azure SQL-platformokon való hitelesítéshez.

Fontos

A Microsoft Entra ID-hitelesítés használatakor hozza létre a felhasználót az jobuser adott Microsoft Entra-azonosítóból minden céladatbázisban. Adja meg a felhasználónak a feladat(ok) mindegyik céladatbázisban való végrehajtásához szükséges engedélyeket.

A rendszer által hozzárendelt felügyelt identitás (SMI) használata nem támogatott.

Hitelesítés adatbázis-hatókörű hitelesítő adatokkal

Bár a Microsoft Entra (korábbi nevén Azure Active Directory) hitelesítés az ajánlott lehetőség, a feladatok úgy konfigurálhatók, hogy adatbázis-hatókörű hitelesítő adatokkal csatlakozzanak a célcsoport által meghatározott adatbázisokhoz végrehajtáskor. 2023 októbere előtt az adatbázis-hatókörbe tartozó hitelesítő adatok voltak az egyetlen hitelesítési lehetőség.

Ha egy célcsoport kiszolgálókat vagy készleteket tartalmaz, ezek az adatbázis-hatókörű hitelesítő adatok az adatbázishoz master való csatlakozásra szolgálnak az elérhető adatbázisok számbavételéhez.

  • Az adatbázis-hatókörű hitelesítő adatokat létre kell hozni a feladatadatbázisban.
  • Minden céladatbázisnak rendelkeznie kell egy olyan bejelentkezéssel, amely megfelelő engedélyekkel rendelkezik a feladat sikeres elvégzéséhez (jobuser az alábbi ábrán).
  • A céladatbázisokban (LOGINés PASSWORD az jobusermasteruser alábbi ábrán) létrehozott hitelesítő adatoknak egyeznie kell a SECRETIDENTITY feladatadatbázisban létrehozott hitelesítő adatokkal.
  • A hitelesítő adatok a feladatok között újra felhasználhatók, és a hitelesítő adatok jelszavai titkosítva és védve vannak azoktól a felhasználóktól, akik írásvédett hozzáféréssel rendelkeznek a feladatobjektumokhoz.

Az alábbi kép segít megérteni a megfelelő feladat hitelesítő adatainak beállítását, valamint azt, hogy a rugalmas feladatügynök hogyan csatlakozik adatbázis-hitelesítő adatokkal hitelesítésként a célkiszolgálókon/adatbázisokban lévő bejelentkezésekhez/felhasználókhoz.

Diagram of elastic jobs credentials, and how the elastic job agent connects using database credentials as authentication to logins/users in target servers/databases.

Megjegyzés:

Adatbázis-hatókörű hitelesítő adatok használatakor ne felejtse el létrehozni a felhasználót jobuser minden céladatbázisban.

Rugalmas feladat privát végpontjai

A rugalmas feladatügynök támogatja a rugalmas feladat privát végpontjait. A rugalmas feladatok privát végpontjának létrehozása privát kapcsolatot hoz létre a rugalmas feladat és a célkiszolgáló között. A rugalmas feladatok privát végpontok funkciója eltér az Azure Private Linktől.

Diagram of service-managed private endpoints for elastic jobs.

A rugalmas feladat privát végpontjai funkció támogatja a cél-/kimeneti kiszolgálók privát kapcsolatait, így a feladatügynök akkor is elérheti őket, ha engedélyezve van a "Nyilvános hozzáférés megtagadása" lehetőség. Privát végpontok használata is lehetséges megoldás, ha le szeretné tiltani az "Azure-szolgáltatások és -erőforrások hozzáférésének engedélyezése a kiszolgálóhoz" lehetőséget.

A rugalmas feladat privát végpontjai támogatják a rugalmas feladatügynök hitelesítésének minden lehetőségét.

A rugalmas feladat privát végpont funkciója lehetővé teszi egy szolgáltatás által felügyelt privát végpont kiválasztását a feladatügynök és a cél-/kimeneti kiszolgálók közötti biztonságos kapcsolat létrehozásához. A szolgáltatás által felügyelt privát végpont egy privát IP-cím egy adott virtuális hálózaton és alhálózaton belül. Ha privát végpontokat használ a feladatügynök egyik cél-/kimeneti kiszolgálóján, a Microsoft létrehoz egy szolgáltatás által felügyelt privát végpontot. Ezt a privát végpontot a feladatügynök kizárólag feladatok csatlakoztatására és végrehajtására, illetve a feladat kimenetének a cél-/kimeneti adatbázisokon való írására használja.

A rugalmas feladat privát végpontjai az Azure Portalon hozhatók létre és engedélyezhetők. A privát kapcsolaton keresztül csatlakoztatott célkiszolgálók bárhol lehetnek az Azure-ban, akár különböző földrajzi helyeken és előfizetésekben is. A kommunikáció engedélyezéséhez minden kívánt célkiszolgálóhoz és a feladatkimeneti kiszolgálóhoz létre kell hoznia egy privát végpontot.

Az új szolgáltatás által felügyelt privát végpont rugalmas feladatokhoz való konfigurálását ismertető oktatóanyagért tekintse meg az Azure SQL rugalmas feladatok privát végpontjának konfigurálását ismertető cikket.

Rugalmas feladat privát végpontjaira vonatkozó követelmények

  • Rugalmas feladatok privát végpontjának használatához a feladatügynöknek és a célkiszolgálóknak/adatbázisoknak az Azure-ban (azonos vagy különböző régiókban) és ugyanabban a felhőtípusban (például nyilvános felhőben vagy kormányzati felhőben egyaránt) kell üzemelniük.
  • Microsoft.Network az erőforrás-szolgáltatót regisztrálni kell a feladatügynök és a cél-/kimeneti kiszolgálók gazdagép-előfizetéseihez.
  • A rugalmas feladat privát végpontjai cél-/kimeneti kiszolgálónként jönnek létre. Ezeket jóvá kell hagyni, mielőtt a rugalmas feladatügynök használhatja őket. Ez a logikai kiszolgáló vagy az előnyben részesített ügyfél Hálózatkezelés paneljén keresztül végezhető el. A rugalmas feladatügynök ezután privát kapcsolattal elérheti a kiszolgáló alatti adatbázisokat.
  • A rugalmas feladatügynök és a feladat-adatbázis közötti kapcsolat nem használ privát végpontot. Maga a feladatügynök belső tanúsítványalapú hitelesítést használ a feladat-adatbázishoz való csatlakozáshoz. Az egyik figyelmeztetés az, ha a feladat-adatbázist célcsoport-tagként adja hozzá. Ezután normál célként viselkedik, amelyet szükség szerint magánvégponttal kell beállítania.

Rugalmas feladatadatbázis-engedélyek

A feladatügynök létrehozása során egy séma, tábla és egy jobs_reader nevű szerepkör jön létre a feladatadatbázisban. A szerepkör a következő engedéllyel jön létre, és úgy van kialakítva, hogy a rendszergazdák számára finomabb hozzáférés-vezérlést biztosítson a feladatok monitorozásához. Rendszergazda istratorok lehetővé teszik a felhasználók számára a feladatok végrehajtásának monitorozását úgy, hogy hozzáadják őket a feladatadatbázis jobs_reader szerepköréhez.

Szerepkör neve 'jobs' sémaengedélyek 'jobs_internal' sémaengedélyek
jobs_reader SELECT None

Figyelem

A feladatadatbázisban ne frissítse a belső katalógusnézeteket, például jobs.target_group_members. A katalógusnézetek manuális módosítása károsíthatja a feladatadatbázist, és hibát okozhat. Ezek a nézetek csak írásvédett lekérdezésekhez használhatók. A feladatadatbázisban tárolt eljárásokkal hozzáadhat/törölhet célcsoportokat/tagokat, például jobs.sp_add_target_group_member.

Fontos

Fontolja meg a biztonsági következményeket, mielőtt emelt szintű hozzáférést ad a feladatadatbázishoz. A feladatok létrehozására vagy szerkesztésére jogosult rosszindulatú felhasználók létrehozhatnak vagy szerkeszthetnek olyan feladatokat, amelyek tárolt hitelesítő adatokat használnak egy adatbázishoz való csatlakozáshoz a rosszindulatú felhasználó felügyelete alatt, ami lehetővé teszi a rosszindulatú felhasználó számára a hitelesítő adatok jelszavának meghatározását vagy rosszindulatú parancsok végrehajtását.

Rugalmas feladatok monitorozása

2023 októberétől kezdve a rugalmas feladatügynök integrálást végez az Azure Alertsszal a feladatállapot-értesítésekhez, ami leegyszerűsíti a feladat végrehajtásának állapotának és előzményeinek monitorozására szolgáló megoldást.

Az Azure Portal új, további funkciókkal is rendelkezik a rugalmas feladatok támogatásához és a feladatok monitorozásához. Azure Monitor-riasztási szabályokat az Azure Portal, az Azure CLI, a PowerShell és a REST API használatával hozhat létre. A Sikertelen rugalmas feladatok metrika jó kiindulópont a rugalmas feladatok végrehajtásával kapcsolatos riasztások figyeléséhez és fogadásához. Emellett dönthet úgy is, hogy egy konfigurálható művelet, például SMS vagy e-mail útján riasztást küld az Azure Alert-létesítménynek. További információ: Riasztások létrehozása az Azure SQL Database-hez az Azure Portalon.

Mintául tekintse meg a rugalmas feladatok létrehozását, konfigurálását és kezelését (előzetes verzió) bemutató témakört.

Feladat kimenete

A feladatok lépéseinek eredménye részletesen rögzítve lesz az egyes adatbázisokon, a szkript kimenete pedig a megadott táblában. Megadhat egy adatbázist a feladat által visszaadott adatok tárolásához.

Feladatelőzmények

A rugalmas feladatok végrehajtási előzményeinek megtekintése a feladatadatbázisban a tábla jobs.job_executionslekérdezésével. A rendszertisztítási feladat törli a 45 napnál régebbi végrehajtási előzményeket. A 45 napnál régebbi előzmények manuális eltávolításához hajtsa végre a sp_purge_jobhistory tárolt eljárást a feladatadatbázisban.

Feladat állapota

A rugalmas feladatok végrehajtását a feladatadatbázisban a tábla jobs.job_executionslekérdezésével figyelheti.

Best practices

A rugalmas adatbázis-feladatok használatakor vegye figyelembe az alábbi ajánlott eljárásokat.

Security best practices

  • Az API-k felhasználását korlátozza megbízható személyekre.
  • A hitelesítő adatok a feladatlépés végrehajtásához szükséges minimális engedélyekkel rendelkezzenek. További információ: Engedélyezés és engedélyek.
  • Kiszolgáló- és/vagy készlet célcsoporttag használata esetén javasolt külön hitelesítőadat-azonosítót létrehozni, amely jogosultságokkal rendelkezik az master adatbázisban a kiszolgáló(k) és/vagy készlet(ek) adatbázislistáinak kibontásához használt adatbázisok megtekintéséhez/listázásához a feladat végrehajtása előtt.

Rugalmas feladatok teljesítménye

A rugalmas feladatok minimális számítási erőforrásokat használnak, miközben a hosszú ideig futó feladatok befejezésére várnak.

Az adatbázisok célcsoportjának méretétől és a feladat kívánt végrehajtási idejétől (az egyidejű feldolgozók számától) függően az ügynöknek különböző mennyiségű számításra és teljesítményre van szüksége a feladatadatbázishoz (minél több cél és nagyobb számú feladat, annál nagyobb a szükséges számítási mennyiség).

Egyidejű kapacitásszintek

2023 októberétől kezdve a rugalmas feladatügynök több teljesítményszinttel rendelkezik, hogy lehetővé tegye a kapacitás növelését.

A kapacitásnövekmények azt jelzik, hogy a feladatügynök hány egyidejű céladatbázishoz tud csatlakozni, és hogyan indíthat el egy feladatot. A feladatok végrehajtásához egyidejűbb célkapcsolatok esetén frissítse a feladatügynök szintjét az alapértelmezett JA100 szintről, amely legfeljebb 100 egyidejű célkapcsolattal rendelkezik.

A legtöbb környezethez egyszerre kevesebb mint 100 feladat szükséges, ezért a JA100 az alapértelmezett.

Rugalmas feladatügynök szintje Egyidejű feladatok maximális száma
JA100 100
JA200 200
JA400 400
JA800 800

Ha túllépi a feladatügynök egyidejűségi kapacitásszintjét a feladatcélokkal, sorbaállási késések keletkeznek egyes céladatbázisok/kiszolgálók esetében. Ha például a JA100 szinten 110-zel indít el egy feladatot, 10 feladat várja meg a kezdést, amíg mások befejeződnek.

A rugalmas feladatügynök réteg- vagy szolgáltatáscélja módosítható az Azure Portalon, a PowerShellen vagy a FeladatügynökÖK REST API-n keresztül. Példa: A feladatügynök skálázása.

A rugalmas készletekre gyakorolt feladatok hatásának korlátozása

Annak érdekében, hogy az erőforrások ne legyenek túlterhelve, amikor rugalmas Azure SQL Database-készletben lévő adatbázisokon futtatnak feladatokat, a feladatok konfigurálhatók úgy, hogy korlátozzák az adatbázisok számát, amelyeken egy feladat egyszerre futtatható.

A tárolt eljárás @max_parallelism paraméterének T-SQL-ben történő beállításával sp_add_jobstep beállíthatja az egyidejű adatbázisok számát.

Idempotens szkriptek

A rugalmas feladatok T-SQL-szkriptjeinek idempotensnek kell lenniük. Az idempotens azt jelenti, hogy ha a szkript sikeres, és újra fut, ugyanaz az eredmény következik be. A szkriptek átmeneti hálózati problémák miatt meghiúsulhatnak. Ebben az esetben a feladat automatikusan újrapróbálkozik, és a megadott számú alkalommal ismételten futtatja a szkriptet, mielőtt feladná azt. Az idempotens szkriptek akkor is ugyanazt az eredményt kapják, ha kétszer (vagy többen) sikeresen futtatták.

A legegyszerűbb módszer, ha ellenőrzi az objektum meglétét, mielőtt létrehozná. A következő egy hipotetikus példa:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'some_object')
    print 'Object does not exist'
    -- Create the object
ELSE
    print 'Object exists'
    -- If it exists, drop the object before recreating it.

Ehhez hasonlóan a szkriptnek sikeresen végrehajthatónak kell lennie az észlelt feltételek logikai tesztelése és azokkal ellentétes műveletek révén.

Korlátozások

Ezek a rugalmas feladatok szolgáltatásra vonatkozó jelenlegi korlátozások. Aktívan dolgozunk azon, hogy a lehető legtöbb korlátozást eltávolítsuk.

Probléma Leírás
A rugalmas feladatügynököt újra létre kell hozni, és el kell indítani az új régióban a feladatátvétel/áthelyezés után egy új Azure-régióba. A rugalmas feladatok szolgáltatás az összes feladatügynökét és feladat-metaadatait a feladatadatbázisban tárolja. Az Azure-erőforrások feladatátvétele vagy áthelyezése új Azure-régióba szintén áthelyezi a feladat-adatbázist, a feladatügynököt és a feladatok metaadatait az új Azure-régióba. A rugalmas feladatügynök azonban csak számítási erőforrás, ezért explicit módon újra létre kell hozni és el kell indítani az új régióban, mielőtt a feladatok újraindulnak az új régióban. A kezdést követően a rugalmas feladatügynök a korábban meghatározott feladatütemezésnek megfelelően folytatja a feladatok végrehajtását az új régióban.
Túlzott naplózási naplók a feladatok adatbázisából A rugalmas feladatügynök úgy működik, hogy folyamatosan lekérdezi a feladat-adatbázist, hogy ellenőrizze az új feladatok és egyéb CRUD-műveletek érkezését. Ha a naplózás engedélyezve van azon a kiszolgálón, amely egy feladatadatbázist tárol, a feladatok adatbázisa nagy számú naplózási naplót hozhat létre. Ezt úgy lehet enyhíteni, ha ezeket az auditnaplókat egy Set-AzSqlServerAudit predikátumkifejezéssel rendelkező paranccsal szűri ki.

Például:
Set-AzSqlServerAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage" -PredicateExpression "database_principal_name <> '##MS_JobAccount##'"

Ez a parancs csak a feladatügynököt szűri ki a feladatok adatbázis-naplózási naplóira, nem pedig a feladatügynököt a céladatbázisok naplózási naplóira.
Rugalmas skálázású adatbázis használata feladatadatbázisként A rugalmas skálázású adatbázisok feladatadatbázisként való használata nem támogatott. A rugalmas feladatok azonban ugyanúgy célozhatják meg a rugalmas skálázású adatbázisokat, mint az Azure SQL Database bármely más adatbázisát.
Kiszolgáló nélküli adatbázisok és automatikus szüneteltetés rugalmas feladatokkal. Az engedélyezett kiszolgáló nélküli adatbázis automatikus szüneteltetése nem támogatott feladatadatbázisként. A rugalmas feladatok által megcélzott kiszolgáló nélküli adatbázisok támogatják az automatikus szüneteltetést, és a feladatkapcsolatok folytatják.
Feladatadatbázis exportálása BACPAC-fájlba Feladatadatbázis exportálása BACPAC-fájlba nem támogatott. Ha a feladatadatbázist tartalmazó SQL Servert exportálni kell, a feladatadatbázist először el kell dobni a kiszolgáló exportálása előtt.

Következő lépés