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 Felügyelt példány
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 lehetővé teszi az adatbázis-rendszergazda számára, hogy minden feladatlépést olyan biztonsági környezetben futtasson, amely csak a feladatlépés végrehajtásához szükséges engedélyekkel rendelkezik, amelyet egy SQL Server-ügynökproxy határoz meg. Egy adott feladatlépés engedélyeinek beállításához hozzon létre egy proxyt, amely rendelkezik a szükséges engedélyekkel, majd rendelje hozzá a proxyt a feladatlépéshez. Egy proxy több feladatlépéshez is megadható. Az azonos engedélyeket igénylő feladatlépésekhez ugyanazt a proxyt kell használnia.
Az alábbi szakasz bemutatja, hogy milyen adatbázis-szerepkört kell megadnia a felhasználóknak, hogy sql server-ügynökkel hozhatnak létre vagy hajthatnak végre feladatokat.
Hozzáférés biztosítása az SQL Server-ügynökhöz
Az SQL Server Agent használatához a felhasználóknak az alábbi rögzített adatbázis-szerepkörök egyikének vagy több tagjának kell lenniük:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Ezek a szerepkörök az msdb adatbázisban vannak tárolva. Alapértelmezés szerint egyetlen felhasználó sem tagja ezeknek az adatbázis-szerepköröknek. Az ilyen szerepkörökben való tagságot explicit módon kell megadni. Azok a felhasználók, akik a sysadmin rögzített kiszolgálói szerepkör tagjai, teljes hozzáféréssel rendelkeznek az SQL Server Agenthez, és nem kell ezen rögzített adatbázis-szerepkörök tagjának lenniük az SQL Server-ügynök használatához. Ha egy felhasználó nem tagja ezeknek az adatbázis-szerepköröknek vagy a sysadmin szerepkörnek, az SQL Server-ügynök csomópont nem érhető el számukra, amikor az SQL Server Management Studióval csatlakoznak az SQL Serverhez.
Ezeknek az adatbázis-szerepköröknek a tagjai megtekinthetik és végrehajthatják a saját feladataikat, és meglévő proxyfiókként futtatott feladatlépéseket hozhatnak létre. Az egyes szerepkörökhöz társított konkrét engedélyekről további információt az SQL Server Agent rögzített adatbázis-szerepköreivel kapcsolatban talál.
A sysadmin rögzített kiszolgálói szerepkör tagjai jogosultak proxyfiókok létrehozására, módosítására és törlésére. A sysadmin szerepkör tagjai rendelkeznek engedéllyel olyan feladatlépések létrehozására, amelyek nem proxyt adnak meg, hanem az SQL Server-ügynök szolgáltatásfiókjaként futnak, amely az SQL Server Agent elindításához használt fiók.
Iránymutatások
Kövesse az alábbi irányelveket az SQL Server-ügynök implementációjának biztonságának javításához:
Hozzon létre dedikált felhasználói fiókokat kifejezetten proxyk számára, és csak ezeket a proxyfelhasználói fiókokat használja a feladat lépéseinek futtatásához.
Csak a proxyfelhasználói fiókokhoz szükséges engedélyeket adja meg. Csak az adott proxyfiókhoz rendelt feladatlépések futtatásához szükséges engedélyeket adja meg.
Ne futtassa az SQL Server Agent szolgáltatást olyan Microsoft Windows-fiók alatt, amely tagja a Windows Rendszergazdák csoportnak.
A proxyk csak olyan biztonságosak, mint az SQL Server hitelesítőadat-tárolója.
Ha a felhasználói írási műveletek írhatnak a Windows Server eseménynaplójába, riasztásokat hozhatnak létre az SQL Server-ügynökön keresztül.
Ne adja meg a Windows Server rendszergazdai fiókját szolgáltatásfiókként vagy proxyfiókként.
Az SQL Server és az SQL Server Agent hozzáfér egymás eszközeihez. A két szolgáltatás egyetlen folyamattérrel rendelkezik, az SQL Server-ügynök pedig az SQL Server szolgáltatás sysadminja.
Ha egy többkiszolgálós környezet létrehozása MSX -kiszolgálóval (főkiszolgálóval) rendelkezik, az MSX sysadminok teljes körű vezérlést kapnak az SQL Server TSX-példánya felett.
Az ACE egy bővítmény, és nem tudja meghívni magát. A Chainer ScenarioEngine.exe (más néven
Microsoft.SqlServer.Chainer.Setup.exe) meghívhatja az ACE-t. Más gazdafolyamatok is meghívhatják az ACE-t.Az ACE az SSDP által birtokolt következő konfigurációs DLL-ektől függ, mivel a DLL-ek API-jait az ACE hívja meg:
SCO -
Microsoft.SqlServer.Configuration.Sco.dll, beleértve a virtuális fiókokra vonatkozó új SCO-érvényesítéseket isFürt -
Microsoft.SqlServer.Configuration.Cluster.dllSFC -
Microsoft.SqlServer.Configuration.SqlConfigBase.dllKiterjesztés -
Microsoft.SqlServer.Configuration.ConfigExtension.dll
Csatolt kiszolgálók
Bizonyos esetekben, például mi az a felügyelt Azure SQL-példány?, ha olyan SQL Agent-feladatot szeretne futtatni, amely egy Transact-SQL (T-SQL) lekérdezést hajt végre egy távoli kiszolgálón egy csatolt kiszolgálón keresztül, le kell képeznie egy helyi bejelentkezést a távoli kiszolgálón lévő bejelentkezéshez.
A sp_addlinkedsrvlogin használatával leképezést hozhat létre a helyi kiszolgálón lévő bejelentkezés és a távoli kiszolgálón található bejelentkezés között, amely rendelkezik a T-SQL-lekérdezés végrehajtásához szükséges engedéllyel. Amikor az SQL Agent-feladat a csatolt kiszolgálón keresztül csatlakozik a távoli kiszolgálóhoz, végrehajtja a T-SQL-lekérdezést a távoli bejelentkezés kontextusában.
A következő táblázat leírja, hogyan képezzen le bejelentkezést az SQL Agent feladat tulajdonosa alapján az Azure SQL Managed Instance esetében.
| SQL Agent-feladat tulajdonosa | Hogyan lehet leképezni a bejelentkezést |
|---|---|
| Nem sysadmin felhasználó | A helyi felhasználót, aki a(z) SQL Agent feladat tulajdonosa, képezze le a távoli bejelentkezéshez. |
| rendszergazda | Állítsuk a paramétert @localloginaz összes helyi felhasználó NULL távoli bejelentkezéséhez. |
A távoli kiszolgálón való bejelentkezés létrehozása szükséges az SQL Agent feladatokhoz, amikor a helyi kiszolgáló egy felügyelt Azure SQL-példány. Ha nem megfelelő a felhasználók leképezése, az a következő példákhoz hasonló hibákat eredményezhet:
Windows logins are not supported in this version of SQL ServerLinked servers cannot be used under impersonation without a mapping for the impersonated login