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.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Jelzi, hogy a jelenlegi felhasználó tagja-e a megadott Microsoft Windows csoportnak, Microsoft Entra csoportnak vagy SQL Server adatbázis-szerepnek.
A IS_MEMBER funkció Microsoft Entra csoportok számára is támogatott. Az egyetlen eset, amikor IS_MEMBER nem működik, az az, ha a csoport a Microsoft Entra adminisztrátora az SQL példányhoz.
Transact-SQL szintaxis konvenciók
Megjegyzés:
A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.
Szemantika
IS_MEMBER ( { 'group' | 'role' } )
Arguments
'csoport'
Érvényes: SQL Server 2008 (10.0.x) és újabb verziókra
Ez a Windows vagy Microsoft Entra csoport neve, amelyet ellenőriznek. Egy Windows csoportnak a Domain\Group formátumban kell lennie. A csoporta sysname.
'szerep'
Az SQL Server szerepkör neve, amit ellenőriznek.
A szerepa sysname , és magában foglalhatja az adatbázis rögzített vagy felhasználó által definiált szerepeket, de nem a szerver szerepeket.
Visszatérési típusok
int
Megjegyzések
IS_MEMBER a következő értékeket adja vissza.
| Visszaadott érték | Description |
|---|---|
| 0 | A jelenlegi felhasználó nem tagja a csoportnak vagy a szerepnek. |
| 1 | A jelenlegi felhasználó egy csoport vagy szerep tagja. |
| NULLA | Sem csoport , sem szerep nem érvényes. Ha SQL Server bejelentkezés vagy egy alkalmazási szerep használatával jelentkezik, a NULL értéket adja vissza egy Windows csoporthoz. |
IS_MEMBER a Windows által létrehozott hozzáférési tokent vizsgálva határozza meg a Windows csoporttagságát. A hozzáférési token nem tükrözi azokat a csoporttagsági változásokat, amelyek akkor történnek, amikor a felhasználó csatlakozik egy SQL Server példányhoz. A Windows csoporttagságot nem lehet SQL Server bejelentkezéssel vagy SQL Server alkalmazási szerepkörrel lekérdezni.
Tagok hozzáadásához és eltávolításához adatbázis szerepéből használjuk az ALTER ROLE (Transact-SQL) opciót. Tagok hozzáadásához és eltávolításához szerver szerepből használd az ALTER SERVER ROLE (Transact-SQL) gombot.
Ez a funkció a szereptagságot értékeli, nem az alapul szolgáló engedélyt. Például a db_owner fix adatbázis szerepe rendelkezik a CONTROL DATABASE jogosultsággal. Ha a felhasználónak van CONTROL DATABASE jogosultsága, de nem tagja a szerepnek, ez a függvény helyesen jelenti, hogy a felhasználó nem tagja a db_owner szerepnek, még akkor is, ha a felhasználónak ugyanaz a jogosultsága van.
A rendszertamis-fix szerver tagjai minden adatbázisba dbo felhasználóként lépnek be. A rendszergazdák tagjának engedélyét ellenőrizem a fix szerver szerep számára, a DBO engedélyeit ellenzi, nem az eredeti bejelentkezést. Mivel a dbo nem adható be adatbázis szerepbe, és nem létezik Windows csoportokban, a dbo mindig 0-t ad vissza (vagy NULL-t, ha a szerep nem létezik).
Kapcsolódó funkciók
Annak meghatározására, hogy egy másik SQL Server bejelentkezés tag-e egy adatbázis szerepnek, használd a IS_ROLEMEMBER (Transact-SQL) gombot. Annak megállapításához, hogy egy SQL Server bejelentkezés szerver szerepkör tagja-e, használd a IS_SRVROLEMEMBER (Transact-SQL) jelet.
Példák
Az alábbi példa ellenőrzi, hogy a jelenlegi felhasználó adatbázis szerep vagy Windows domain csoport tagja-e.
-- Test membership in db_owner and print appropriate message.
IF IS_MEMBER ('db_owner') = 1
PRINT 'Current user is a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') = 0
PRINT 'Current user is NOT a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') IS NULL
PRINT 'ERROR: Invalid group / role specified';
GO
-- Execute SELECT if user is a member of ADVWORKS\Shipping.
IF IS_MEMBER ('ADVWORKS\Shipping') = 1
SELECT 'User ' + USER + ' is a member of ADVWORKS\Shipping.';
GO
Lásd még:
IS_SRVROLEMEMBER (Transact-SQL)
Főelemek (Adatbázismotor)
Biztonságikatalógus nézetei (Transact-SQL)
Biztonsági funkciók (Transact-SQL)