Vytváření, konfigurace a správa elastických úloh

Platí pro: Azure SQL Database

Tento článek obsahuje kroky potřebné k vytvoření, konfiguraci a správě elastických úloh pro Azure SQL Database. Mnohé z těchto kroků můžete provést na webu Azure Portal a pomocí T-SQL, PowerShellu a rozhraní REST API. Elastické úlohy umožňují paralelní spouštění jednoho nebo více skriptů Transact-SQL (T-SQL) napříč mnoha databázemi. Další informace o konceptech automatizace úloh ve službě Azure SQL Database a další informace o elastických úlohách ve službě Azure SQL Database.

Vytvoření a konfigurace agenta elastických úloh

  1. Pomocí nákupního modelu DTU vytvořte nebo identifikujte prázdnou databázi S1 nebo vyšší Azure SQL Database. Tato databáze by měla být na stejném serveru jako agent úloh. Tato databáze se používá jako databáze úloh při vytváření agenta elastických úloh. Jednoúčelovou databázi můžete vytvořit prostřednictvím webu Azure Portal, Azure CLI, Azure CLI (sql up) nebo PowerShellu.

  2. Vytvořte agenta elastických úloh na webu Azure Portal nebo pomocí PowerShellu.

    Pokyny k vytvoření agenta elastických úloh na webu Azure Portal jsou následující:

    1. Na webu Azure Portal vyhledejte agenty elastických úloh. Vyberte Vytvořit a začněte zřizovat nový prostředek agenta elastických úloh. Nebo pomocí tohoto odkazu vytvořte agenta elastických úloh na webu Azure Portal.
    2. Zadejte název agenta elastických úloh.
    3. Zvolte předplatné a skupinu prostředků pro agenta. V případě potřeby vytvořte novou skupinu prostředků. Elastická úloha může cílit na databáze v jiných skupinách prostředků, předplatných, dokonce i v jiných oblastech Azure.
    4. Zvolte logický server Azure SQL Database, který bude serverem agenta elastických úloh.
    5. Zvolte databázi úloh na logickém serveru, aby se jednat o databázi agenta elastických úloh. Některé ověření zajišťuje, že je databáze vhodná.
    6. V části Úroveň služby zvolte JA 100.
    7. Vyberte Další: Identita.
    8. Existují dvě metody ověřování agenta úloh pro cílové servery/databáze, ověřování Microsoft Entra pomocí spravované identity přiřazené uživatelem (UMI) nebo přihlašovacích údajů v oboru databáze.
      1. Vytvořte UMI mimo proces zřizování agenta elastických úloh nebo použijte existující rozhraní UMI. Vyberte Přidat spravovanou identitu přiřazenou uživatelem. Vyberte UMI. Vyberte Přidat.
      2. Pokud chcete použít přihlašovací údaje s oborem databáze, přečtěte si kroky dále v tomto kurzu.
    9. Vyberte Další: Značky.
    10. Zvažte použití značek Azure. Například značka "Owner" nebo "CreatedBy", která identifikuje, kdo prostředek vytvořil, a značku prostředí, která identifikuje, jestli se tento prostředek nachází v produkčním prostředí, vývoji atd. Další informace najdete v tématu Vývoj strategie vytváření názvů a označování prostředků Azure.
    11. Vyberte Zkontrolovat a vytvořit.
    12. Ověřte nové výběry agenta elastických úloh na stránce Zkontrolovat a vytvořit a pak vyberte Vytvořit.
    13. Další kroky jsou potřeba k ověření na cílových serverech nebo databázích. Pokračujte kroky v následujících částech tohoto článku kurzu.

Vytvoření ověřování agenta úloh

Agent elastických úloh musí být schopný ověřit každý cílový server nebo databázi. V této části probereme kroky potřebné k ověření agenta elastických úloh na serverech/databázích v cílových skupinách.

Existují dvě možnosti ověřování agenta elastických úloh pro cíle:

Použití ověřování Microsoft Entra se spravovanou identitou přiřazenou uživatelem (UMI)

Použijte ověřování Microsoft Entra (dříve Azure Active Directory) se spravovanou identitou přiřazenou uživatelem (UMI). Toto je doporučená metoda ověřování.

  1. Povolte ověřování Microsoft Entra (dříve Azure Active Directory) na všech cílových logických serverech úloh nebo databázích a na výstupním logickém serveru úlohy.
  2. Vytvořte spravovanou identitu přiřazenou uživatelem nebo použijte již existující rozhraní UMI.
  3. Přiřaďte rozhraní UMI vytvořenému agentu elastických úloh.
    • Při vytváření agenta elastických úloh se doporučuje přiřadit rozhraní UMI, viz postup vytvoření a konfigurace agenta elastických úloh. Při vytváření agenta úloh na webu Azure Portal na kartě Identita přiřaďte agenta elastických úloh.
    • Pokud chcete aktualizovat existujícího agenta elastických úloh tak, aby používal rozhraní UMI, přejděte na stránce Webu Azure Portal pro agenta elastických úloh v nabídce Prostředku do části Identita. Vyberte a přiřaďte rozhraní UMI agentu elastických úloh.
    • Při vytváření nebo aktualizaci agenta elastických úloh pomocí New-AzSqlElasticJobAgent rutin prostředí PowerShell Set-AzSqlElasticJobAgent použijte parametry: -IdentityType UserAssigned -IdentityID <identity resource path>. Příklad:
      $parameters = @{
          Name = '<job agent name>'
          ResourceGroupName = '<Resource_Group_Name>'
          IdentityType = 'UserAssigned'
          IdentityID = '/subscriptions/fa58cf66-caaf-4ba9-875d-f1234/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UMI name here>'
      }
      Set-AzSqlElasticJobAgent @parameters
      
    • Rozhraní REST API lze také použít k vytvoření nebo aktualizaci agenta elastických úloh.
  4. Vytvořte cílovou skupinu a přidejte cíle pro úlohy. Definujte cílovou skupinu a cíle (databáze, pro které chcete úlohu spustit) pomocí PowerShellu nebo definujte cílovou skupinu a cíle pomocí T-SQL.
  5. V každém cílovém serveru nebo databázích vytvořte pomocí T-SQL nebo PowerShellu uživatele s omezením namapovaný na přihlašovací údaje UMI nebo databáze:
    1. Vytvořte ověřování úloh pomocí T-SQL.
    2. Vytvořte ověřování úloh pomocí PowerShellu.
  6. Ve výstupní databázi vytvořte a přiřaďte oprávnění uživateli úlohy UMI. Připojte se k výstupní databázi a spusťte následující ukázkový skript pro uživatele s názvem jobuserUMI:
    CREATE USER [jobuserUMI] FROM EXTERNAL PROVIDER; 
    GO 
    
  7. Pokud jsou ve sp_add_jobstep volání the @output_table_name argumentzadány výstupní parametry , musí být přihlašovacím údajům UMI agenta úloh nebo databáze s oborem databáze udělená oprávnění k vytvoření tabulky a vložení dat do této výstupní tabulky.
    GRANT CREATE TABLE TO [job_user];
    GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
    
  8. V každém z cílových serverů nebo databází udělte uživateli databáze potřebná oprávnění ke spouštění skriptů úloh. Tato oprávnění se liší v závislosti na požadavcích dotazu T-SQL.

Použití přihlašovacích údajů v oboru databáze

Pro ověřování můžete použít přihlašovací údaje s oborem databáze v databázi úloh a na každém cílovém serveru nebo databázi. V minulosti byly přihlašovací údaje v oboru databáze jedinou možností dostupnou s elastickými úlohami.

Poznámka:

Pokud je rozhraní UMI přiřazeno k agentovi úloh, ověřování SQL se nepoužije k připojení k jeho cílům. Agent úloh bude používat pouze ověřování Microsoft Entra s rozhraním UMI pro připojení ke všem cílovým databázím.

  1. V databázi úloh vytvořte přihlašovací údaje s vymezeným oborem databáze.
    1. Vytvoření přihlašovacích údajů v oboru databáze pomocí PowerShellu
    2. K vytvoření přihlašovacích údajů v oboru databáze použijte T-SQL.
  2. Definujte cílovou skupinu (databáze, pro které chcete úlohu spustit) pomocí PowerShellu nebo definujte cíle pomocí T-SQL.
  3. Vytvořte přihlašovací jméno nebo uživatele agenta úloh v každé cílové databázi, ve které se úloha spustí. Přihlašovací jméno/uživatel na každém cílovém serveru nebo databázi musí mít stejný název jako identita přihlašovacích údajů v oboru databáze pro uživatele úlohy a stejné heslo jako přihlašovací údaje v oboru databáze pro uživatele úlohy.
    1. Pomocí PowerShellu přidejte přihlašovací údaje a uživatele do každé cílové databáze.
    2. Další informace o přidávání uživatelů najdete v tématu Autorizace přístupu k serveru a databázi pomocí přihlášení a uživatelských účtů.
  4. Ve výstupní databázi vytvořte a přiřaďte uživateli úlohy oprávnění.
    1. Připojte se k master databázi logického serveru, který je hostitelem výstupní databáze. Pokud ještě neexistuje, vytvořte ověřené přihlášení SQL se stejným názvem jako identita přihlašovacích údajů v oboru databáze pro uživatele úlohy a stejné heslo jako přihlašovací údaje v oboru databáze pro uživatele úlohy.
      CREATE LOGIN [job_user] WITH PASSWORD '<same_password_as_database-scoped_credential>'
      GO 
      
    2. Připojte se k výstupní databázi a spusťte následující ukázkový skript pro uživatele s názvem job_user:
      CREATE USER [job_user] FROM LOGIN [job_user]; 
      GO 
      
    3. Pokud jsou výstupní parametry zadány ve sp_add_jobstep volání v argumentu @output_table_name , musí být přihlašovacím údajům UMI agenta úloh nebo databáze s oborem databáze udělena oprávnění k create TABLE a INSERT data do této výstupní tabulky.
      GRANT CREATE TABLE TO [job_user];
      GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
      
  5. V každém z cílových serverů nebo databází udělte uživateli databáze potřebná oprávnění ke spouštění skriptů úloh. Tato oprávnění se liší v závislosti na požadavcích dotazu T-SQL.

Vytváření, spouštění a správa úloh

  1. Pomocí PowerShellu vytvořte úlohu nebo pomocí jazyka T-SQL vytvořte úlohu.
  2. Přidejte kroky ke každé elastické úloze. Pro každý krok úlohy musí být zvolena cílová skupina. Pomocí PowerShellu můžete přidat kroky úlohy nebo pomocí jazyka T-SQL přidat kroky úlohy.
  3. Pomocí PowerShellu spusťte úlohu nebo pomocí jazyka T-SQL spusťte úlohu.
  4. Monitorujte stav provádění úloh pomocí webu Azure Portal, monitorujte úlohy pomocí PowerShellu nebo monitorujte úlohy pomocí T-SQL.

Konfigurace privátního koncového bodu elastických úloh Azure SQL

Každý cílový server je dostupný prostřednictvím privátního koncového bodu spravovaného službou, vytvořeného a spravovaného Microsoftem a výhradně pro použití s elastickými úlohami. Vytvoření privátního koncového bodu elastických úloh vytvoří privátní propojení mezi elastickou úlohou a cílovým serverem. Po nakonfigurování proběhne veškerá komunikace mezi agentem elastických úloh a cílovým serverem prostřednictvím privátního koncového bodu.

Konfigurace je snadná. Pokud chcete tuto komunikaci povolit, musíte vytvořit privátní koncový bod pro každý požadovaný cílový server a výstupní server úlohy.

  1. V navigační nabídce agenta elastických úloh vyberte v části Zabezpečení privátní koncové body.
  2. Vyberte Přidat server a vytvořte privátní koncový bod.
  3. Otevře se okno Vytvořit privátní koncový bod .
    1. Cílový server můžete vybrat z libovolného předplatného kdekoli v Azure.
    2. Vyberte cílový logický server Azure SQL Database v daném předplatném.
    3. Zadejte název privátního koncového bodu.
  4. Vyberte Vytvořit privátní koncový bod. Nasazení bude chvíli trvat. Brzy se na stránce Privátní koncové body zobrazí stav Připojení čekající na vyřízení.
  5. Na webu Azure Portal přejděte na cílový logický server Azure SQL Database.
  6. Jako správce tohoto cílového logického serveru Azure SQL Database v navigační nabídce SQL serveru v části Zabezpečení vyberte Sítě.
  7. Vyberte Privátní přístup.
  8. Schválí nevyřízenou žádost o privátní koncový bod.
  9. Stav připojení na stránce Privátní koncové body se zobrazí Schválené. Veškerá komunikace mezi agentem úloh a všemi databázemi nebo elastickými fondy v daném cílovém logickém serveru Azure SQL Database teď prochází privátním koncovým bodem spravovaným službou.
  10. Jako správce tohoto cílového logického serveru Azure SQL Database v navigační nabídce SQL serveru v části Zabezpečení vyberte Sítě. Pro účely elastických úloh není nutné povolit veřejný přístup .

Konfigurace upozornění agenta úloh pomocí služby Azure Monitor

Nakonfigurujte upozornění služby Azure Monitor na prostředek agenta elastických úloh tak, aby dostávala oznámení o stavu spuštění úlohy. Můžete být například upozorněni na selhání nebo úspěch úlohy prostřednictvím skupin akcí nakonfigurovaných uživatelem.

Upozornění agenta elastických úloh můžete vytvořit pomocí webu Azure Portal, PowerShellu nebo rozhraní REST API.

Vytváření upozornění agenta úloh pomocí webu Azure Portal

Vytvořte pravidla upozornění služby Azure Monitor pomocí webu Azure Portal, Azure CLI, PowerShellu a rozhraní REST API. Pravidla upozornění pro elastické úlohy fungují podobně jako u jiných pravidel upozornění, například pro Azure SQL Database.

Pokud chcete pokračovat na webu Azure Portal, postupujte následovně:

  1. V nabídce prostředků webu Azure Portal pro agenta elastických úloh přejděte do nabídky Monitorování a vyberte Výstrahy.
  2. V části Nastavit pravidla upozornění na této výzvě prostředku vyberte Vytvořit pravidlo upozornění.
  3. Na stránce Vytvořit pravidlo upozornění se otevře stránka Vybrat signál. Vyberte metriky elastických úloh, u neúspěšných spuštění elastických úloh, úspěšných spuštění elastických úloh nebo vypršení časového limitu provádění elastických úloh. Snímek obrazovky webu Azure Portal zobrazující stránku Vytvořit pravidlo upozornění
  4. V části Logika upozornění ponechte výchozí prahovou hodnotu, typ agregace, operátor a jednotku .
  5. Nastavte prahovou hodnotu na 0hodnotu . Ostatní nastavení ponechte jako výchozí.
  6. Vyberte Další: Akce.
  7. Vyberte Vytvořit skupinu akcí nebo zvolte existující skupinu akcí.
    1. Vytvořte skupiny akcí upozornění služby Azure Monitor na webu Azure Portal a nastavte nastavení oznámení, například správcům e-mailu nebo vývojářům selhání.
    2. Otestujte skupinu akcí Upozornění.
  8. Vyberte Další: Podrobnosti.
  9. Zadejte předplatné a skupinu prostředků jako podrobnosti projektu.
  10. Zadejte podrobnosti pravidla upozornění pro komunikaci výstrahy. Zadejte název pravidla upozornění.
  11. Vyberte Značky a zadejte metadata, například CreatedBy nebo Environment pro tuto výstrahu.
  12. Vyberte Zkontrolovat a vytvořit. Vyberte Vytvořit. Zobrazení pravidla upozornění na webu Azure Portal může trvat několik minut.
  13. Volitelně můžete vytvořit pravidla zpracování upozornění služby Azure Monitor pomocí webu Azure Portal, Azure CLI nebo PowerShellu. Pomocí pravidel zpracování výstrah můžete rozhodnout, co se stane, když se výstraha aktivuje, jako je potlačení oznámení nebo použití konkrétních akcí u určitých typů upozornění.

Škálování agenta úloh

Ve výchozím nastavení se agenti úloh vytvářejí na ja100, což umožňuje souběžné spouštění až 100 elastických úloh. Iniciace změny úrovně služby je asynchronní operace a nová úroveň služby bude zpřístupněna po krátké prodlevě zřizování.

Pokud potřebujete více než 100 souběžných spuštění agentů elastických úloh, jsou k dispozici vyšší úrovně služeb, viz Souběžné úrovně kapacity. V současné době můžete změnit úroveň služby agenta úloh prostřednictvím webu Azure Portal, PowerShellu nebo rozhraní REST API.

Překročení úrovně služby se souběžnými úlohami způsobí zpoždění fronty před spuštěním úloh nad rámec limitu souběžných úloh na úrovni služby.

Škálování agenta elastických úloh pomocí webu Azure Portal

  1. Na webu Azure Portal přejděte na stránku agenta elastických úloh.
  2. V místní nabídce vyberte Cenovou úroveň nebo vyberte Vertikálně navýšit nebo snížit kapacitu.
  3. V rozevíracím seznamu Úroveň služby zvolte novou úroveň služby.
  4. Zkontrolujte kartu s náklady.
  5. Vyberte Aktualizovat.

Škálování agenta elastických úloh pomocí PowerShellu

-ServiceObjective Volitelný parametr pro Set-AzSqlElasticJobAgent lze použít k zadání nového cíle služby. Příklad:

$parameters = @{
    Name = '<job agent name>'
    ResourceGroupName = '<Resource_Group_Name>'
    ServiceObjective = 'JA200'
}
Set-AzSqlElasticJobAgent @parameters

Škálování agenta elastických úloh pomocí rozhraní REST API

K škálování agenta úloh můžete použít rozhraní REST API agenta úloh. Příklad:

{ 
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", 
"name": "agent1", 
"type": "Microsoft.Sql/servers/jobAgents", 
"location": "southeastasia", 
"sku": {
"name": "JA100  ", 
"capacity": 100 
}, 
"properties": {  
"databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"
}  
}