Vytváření, konfigurace a správa elastických úloh (Preview)
PLATÍ PRO:
Azure SQL Database
V tomto článku se dozvíte, jak vytvářet, konfigurovat a spravovat elastické úlohy.
Pokud jste elastické úlohy nepoužít, přečtěte si další informace okonceptech automatizace úloh v Azure SQL Database .
Vytvoření a konfigurace agenta
Vytvořte nebo identifikujte prázdnou databázi S0 nebo vyšší. Tato databáze se použije jako databáze úloh při vytváření agenta elastických úloh.
Na portálu nebo pomocí PowerShellu vytvořte agenta elastických úloh.

Vytváření, spouštění a správa úloh
Vytvořte přihlašovací údaje pro spuštění úlohy v databázi úloh pomocí PowerShellu nebo T-SQL.
Pomocí PowerShellu nebo T-SQL definujte cílovou skupinu (databáze, pro které chcete úlohu spustit).
V každé databázi, ve které se bude úloha spouštět, vytvořte přihlašovací údaje agenta úloh (do každé databáze ve skupině přidejte příslušného uživatele nebo roli). Příklad najdete v kurzu pro PowerShell.
Vytvořte úlohu pomocí PowerShellu nebo T-SQL.
Pomocí PowerShellu nebo T-SQL přidejte kroky úlohy.
Spusťte úlohu pomocí PowerShellu nebo T-SQL.
Stav provádění úlohy můžete monitorovat pomocí portálu, PowerShellu nebo T-SQL.

Přihlašovací údaje pro spouštění úloh
Úlohy se při spuštění připojují k databázím určeným cílovou skupinou pomocí přihlašovacích údajů v oboru databáze. Pokud cílová skupina obsahuje servery nebo fondy, použijí se tyto přihlašovací údaje v oboru databáze k připojení k hlavní databázi a výčtu dostupných databází.
Nastavení správných přihlašovacích údajů pro spuštění úlohy může být trochu matoucí, proto mějte na paměti následující body:
- Přihlašovací údaje s oborem databáze se musí vytvořit v databázi úloh.
- Všechny cílové databáze musí mít přihlašovací jméno s dostatečnými oprávněními k úspěšnému dokončení úlohy (
jobuserv následujícím diagramu). - Přihlašovací údaje je možné opakovaně používat napříč úlohami a hesla přihlašovacích údajů jsou zašifrovaná a zabezpečená před uživateli, kteří mají k objektům úloh přístup jen pro čtení.
Následující obrázek by vám měl pomoct porozumět přihlašovacím údajům úloh a správně je nastavit. Nezapomeňte vytvořit příslušného uživatele v každé databázi (ve všech cílových uživatelských databázích), ve které se má úloha spouštět.

Osvědčené postupy zabezpečení
Tady je několik osvědčených postupů, které byste při práci s elastickými úlohami měli brát v úvahu:
- Omezte možnost používat rozhraní API na důvěryhodné osoby.
- Přihlašovací údaje by měly mít nejnižší úroveň oprávnění nezbytnou k provedení daného kroku úlohy. Další informace najdete v tématu Autorizace a oprávnění.
- Pokud používáte člena cílové skupiny serveru nebo fondu, důrazně doporučujeme vytvořit samostatné přihlašovací údaje s právy k hlavní databázi, abyste si před provedením úlohy prohlíželi nebo vypíšete databáze, které se používají k rozbalení seznamů databází serverů nebo fondu.
Výkon, kapacita a omezení agenta
Elastické úlohy při čekání na dokončení dlouhotrvajících úloh využívají minimum výpočetních prostředků.
V závislosti na velikosti cílové skupiny databází a požadované době spuštění úlohy (počet souběžných pracovních procesů) vyžaduje agent pro databázi úloh různé úrovně výpočetních prostředků a výkonu (čím je více cílů a úloh, tím je potřeba více výpočetních prostředků).
V současné době je verze Preview omezená na 100 souběžných úloh.
Zabránění snižování výkonu cílových databází úlohami
Pokud chcete zajistit, aby při spouštění úloh pro databáze v elastickém fondu SQL nedocházelo k přetížení prostředků, můžete pro úlohy nakonfigurovat omezení počtu databází, pro které se můžou najednou spouštět.
Nastavte počet souběžných databází, na kterých se úloha spouští, nastavením parametru uložené procedury v sp_add_jobstep @max_parallelism sadě T-SQL.
Osvědčené postupy pro vytváření úloh
Idempotentní skripty
Skripty T-SQL úlohy musí být idempotentní. Idempotentní znamená, že pokud se skript úspěšně provedete a spustí se znovu, výsledek bude stejný. Skript může selhat kvůli přechodným problémům se sítí. V takovém případě se úloha automaticky pokusí znovu skript spustit tolikrát, kolikrát je uvedeno v předvolbách, a pak přestane. Výsledek idempotentního skriptu je stejný, i když se úspěšně spustí dvakrát (nebo vícekrát).
Jednoduchou taktikou je před vytvořením objektu otestovat, jestli už neexistuje. Hypotetický příklad je znázorněn níže:
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.
Skript se také musí být schopný úspěšně provést. Dosáhne toho tím, že logicky testuje podmínky a reaguje na případné podmínky, které najde.