Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Důležité
Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti najdete v tématu rozdíly T-SQL služby Azure SQL Managed Instance oproti SQL Serveru nebo omezení úloh agenta SQL ve službě SQL Managed Instance.
Agent SQL Serveru umožňuje databázovému správci spustit každý krok úlohy v kontextu zabezpečení, který obsahuje pouze potřebná oprávnění k provedení toho kroku, což určuje proxy agenta SQL Serveru. Pokud chcete nastavit oprávnění pro konkrétní krok úlohy, vytvoříte proxy server, který má požadovaná oprávnění, a potom tento proxy server přiřadíte kroku úlohy. Proxy server je možné zadat pro více než jeden krok úlohy. Pro kroky úlohy, které vyžadují stejná oprávnění, použijete stejný proxy server.
Následující část vysvětluje, jakou roli databáze musíte udělit uživatelům, aby mohli vytvářet nebo spouštět úlohy pomocí agenta SQL Serveru.
Udělení přístupu k agentu SQL Serveru
Pokud chcete používat agenta SQL Serveru, musí být uživatelé členem jedné nebo více následujících pevných databázových rolí:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Tyto role jsou uložené v msdb databázi. Ve výchozím nastavení není žádný uživatel členem těchto databázových rolí. Členství v těchto rolích musí být uděleno explicitně. Uživatelé, kteří jsou členy pevné role serveru správce systému , mají úplný přístup k agentovi SQL Serveru a nemusí být členem těchto pevných databázových rolí, aby mohli používat agenta SQL Serveru. Pokud uživatel není členem jedné z těchto databázových rolí nebo role správce systému , uzel agenta SQL Serveru není k dispozici, když se připojí k SQL Serveru pomocí aplikace SQL Server Management Studio.
Členové těchto databázových rolí můžou zobrazovat a spouštět úlohy, které vlastní oni, a vytvářet kroky úlohy, které se spouští jako existující proxy účet. Další informace o konkrétních oprávněních přidružených ke každé z těchto rolí najdete v tématu Pevné databázové role agenta SQL Serveru.
Členové pevné role serveru správce systému mají oprávnění k vytváření, úpravě a odstraňování účtů proxy serveru. Členové role správce systému mají oprávnění k vytvoření kroků úlohy, které nezadávají proxy, ale běží jako účet služby SQL Server Agent, což je účet, který se používá ke spuštění SQL Server Agent.
Pokyny
Pokud chcete zlepšit zabezpečení implementace agenta SQL Serveru, postupujte podle těchto pokynů:
Vytvořte vyhrazené uživatelské účty speciálně pro proxy servery a pro spuštění kroků úloh používejte pouze tyto uživatelské účty proxy serveru.
Udělte pouze potřebná oprávnění k uživatelským účtům proxy serveru. Udělte pouze tato oprávnění potřebná ke spuštění kroků úlohy, které jsou přiřazeny k danému účtu proxy serveru.
Nespousívejte službu agenta SQL Serveru v rámci účtu Systému Microsoft Windows, který je členem skupiny Správci systému Windows.
Proxy servery jsou stejně zabezpečené jako úložiště přihlašovacích údajů SQL Serveru.
Pokud operace zápisu uživatele můžou zapisovat do protokolu událostí Windows Serveru, můžou vyvolat výstrahy prostřednictvím agenta SQL Serveru.
Nezadávejte účet správce Windows Serveru jako účet služby nebo účet proxy serveru.
SQL Server a agent SQL Serveru mají přístup k prostředkům jeden druhého. Dvě služby sdílejí jeden procesový prostor a agent SQL Serveru je správce systému ve službě SQL Server.
Když se vytvoří víceserverové prostředí se seznamem MSX (hlavní server), správce systému MSX získá úplnou kontrolu nad instancí TSX SQL Serveru.
ACE je rozšíření a nemůže vyvolat sám sebe. Chainer ScenarioEngine.exe (označovaný také jako
Microsoft.SqlServer.Chainer.Setup.exe) může vyvolat ACE. Jiné hostitelské procesy mohou také vyvolat ACE.ACE závisí na následujících konfiguračních knihovnách DLL vlastněných SSDP, protože rozhraní API těchto knihoven DLL jsou volána službou ACE:
SCO -
Microsoft.SqlServer.Configuration.Sco.dll, včetně nových ověření SCO pro virtuální účtyShluk -
Microsoft.SqlServer.Configuration.Cluster.dllSFC -
Microsoft.SqlServer.Configuration.SqlConfigBase.dllProdloužení -
Microsoft.SqlServer.Configuration.ConfigExtension.dll
Propojené servery
V některých scénářích, jako je Například Co je Azure SQL Managed Instance?, ke spuštění úlohy agenta SQL, která spouští dotaz Transact-SQL (T-SQL) na vzdáleném serveru prostřednictvím propojeného serveru, musíte namapovat místní přihlášení k přihlášení na vzdáleném serveru.
Pomocí sp_addlinkedsrvlogin vytvořte mapování mezi přihlášením na místním serveru na přihlášení na vzdáleném serveru, který má potřebná oprávnění ke spuštění dotazu T-SQL. Když se úloha agenta SQL připojí ke vzdálenému serveru prostřednictvím propojeného serveru, spustí dotaz T-SQL v kontextu vzdáleného přihlášení.
Následující tabulka popisuje, jak namapovat přihlášení na základě vlastníka úlohy agenta SQL ve službě Azure SQL Managed Instance:
| Vlastník úlohy agenta SQL | Jak namapovat přihlášení |
|---|---|
| Uživatel, který není správcem systému | Namapujte místního uživatele , který vlastní úlohu agenta SQL, na vzdálené přihlášení. |
| Správce systému | Namapujte všechny místní uživatele na vzdálené přihlášení nastavením parametru @locallogin na NULL. |
Vytváření přihlášení na vzdáleném serveru pro úlohy agenta SQL se vyžaduje, když je místní server Spravovaná instance Azure SQL. Nesprávné mapování uživatelů může vést k chybám, jako jsou například následující příklady:
Windows logins are not supported in this version of SQL ServerLinked servers cannot be used under impersonation without a mapping for the impersonated login