Preskočiť na obsah
Skript

Členstvo v databázových rolách

Ktorý používateľ je v ktorej databázovej role (db_owner, db_datareader, vlastné role) v aktuálnej databáze.

clenstvo-v-databazovych-rolach.sql 13 riadkov · T-SQL
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | Členstvo v databázových rolách
   Účel:  Ktorý používateľ je v ktorej databázovej role (db_owner, db_datareader, vlastné role) v aktuálnej databáze.
   Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;

SELECT DB_NAME() AS database_name, m.name AS database_user,
       m.type_desc AS user_type, r.name AS database_role
FROM sys.database_role_members AS rm
JOIN sys.database_principals AS m ON m.principal_id=rm.member_principal_id
JOIN sys.database_principals AS r ON r.principal_id=rm.role_principal_id
ORDER BY m.name,r.name;
## Kedy použiť

Pri porovnaní práv účtov alebo pri migrácii databázy.

## Ako čítať výsledok

Jeden riadok = jedno členstvo. Pozor na `db_owner` a `db_securityadmin`.

> [!WARNING]
> Rola `public` je implicitná a vo výstupe nie je. Explicitné GRANT / DENY sú v samostatnom recepte.

**Oprávnenia:** Viditeľnosť metadát v cieľovej databáze. Spúšťa sa v cieľovej databáze.  
**Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022

## Súvisiace recepty

- [Explicitné GRANT / DENY v databáze](script.php?id=38&s=explicitne-grant-deny-v-databaze)