sys.server_role_members (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Felügyelt példányAnalitikai Platformrendszer (PDW)

Minden fix és felhasználó által definiált szerverszerep minden tagjához egy sort ad vissza.

Oszlop neve Adattípus Description
role_principal_id int Server-Principal a szerep azonosítója.
member_principal_id int Server-Principal a tag azonosítója.

Szerverszerep tagságának hozzáadásához vagy eltávolításához használja aALTER SERVER ROLE (Transact-SQL) utasítást.

Permissions

A bejelentkezések megtekinthetik saját szerverszerep-tagságukat, és megtekinthetik a fix szerver szerepek tagjainak principal_id-ját. Az összes szerver szerepkör megtekintéséhez a tagsághoz ANY DEFINITION engedély vagy a securityadmin fix szerver szerepben való tagság szükségesVIEW.

A bejelentkezések megtekinthetik a saját tulajdonuk szerepkörének szereptagságait is.

Azure SQL Database-ben a szerver-szerep ##MS_DefinitionReader### tagjai minden katalógusnézetet lekérdezhetnek.

További információ: Metaadatok láthatóságának konfigurációja.

Examples

Az ebben a szakaszban szereplő példák bemutatják, hogyan használható kiszolgálószintű szerepkörök az Azure SQL Database-ben.

A. Szerver-szerep tagok visszaküldési listája

A következő példa adja vissza a szerepek és tagjaik nevét és azonosítóit.

SELECT	roles.principal_id							AS RolePrincipalID
	,	roles.name									AS RolePrincipalName
	,	server_role_members.member_principal_id		AS MemberPrincipalID
	,	members.name								AS MemberPrincipalName
FROM sys.server_role_members AS server_role_members
INNER JOIN sys.server_principals AS roles
    ON server_role_members.role_principal_id = roles.principal_id
INNER JOIN sys.server_principals AS members 
    ON server_role_members.member_principal_id = members.principal_id  
;

Note

Az Azure SQL Database-ben az SQL-bejelentkezések nem maradnak meg a sys.server_principals katalógusnézetben. Ezért ahhoz, hogy lekérje a kiszolgálószintű szerepkör-tagságot az Azure SQL Database-ben, csatlakoznia kell a katalógusnézethez sys.sql_logins .

B. Azure SQL Database: Minden alapvetítő (SQL hitelesítés) felsorolása, amelyek szerver-szintű szerepkör tagjai

Az alábbi utasítás a rögzített kiszolgálószintű szerepkörök minden tagját visszaadja a sys.server_role_members és sys.sql_logins katalógusnézetek használatával. Ezt az utasítást a virtuális mester adatbázisban kell futtatni.

SELECT
		sql_logins.principal_id			AS MemberPrincipalID
	,	sql_logins.name					AS MemberPrincipalName
	,	roles.principal_id				AS RolePrincipalID
	,	roles.name						AS RolePrincipalName
FROM sys.server_role_members AS server_role_members
INNER JOIN sys.server_principals AS roles
    ON server_role_members.role_principal_id = roles.principal_id
INNER JOIN sys.sql_logins AS sql_logins 
    ON server_role_members.member_principal_id = sql_logins.principal_id
;  
GO  

Lásd még

katalógusnézetek (Transact-SQL)
Biztonságikatalógus nézetei (Transact-SQL)
Server-Level szerepkörök
Főelemek (Adatbázismotor)