Herkese merhaba,
Bu yazıda SQL Server’da kullanıcıları ve rollerini listelemek hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda kullanıcıları ve bu kullanıcılara ait rolleri listelemek isteyebiliriz.
Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
SELECT spU.name, MAX( CASE WHEN srm.role_principal_id = 3 THEN 1 END ) AS sysadmin, MAX( CASE WHEN srm.role_principal_id = 4 THEN 1 END ) AS securityadmin, MAX( CASE WHEN srm.role_principal_id = 5 THEN 1 END ) AS serveradmin, MAX( CASE WHEN srm.role_principal_id = 6 THEN 1 END ) AS setupadmin, MAX( CASE WHEN srm.role_principal_id = 7 THEN 1 END ) AS processadmin, MAX( CASE WHEN srm.role_principal_id = 8 THEN 1 END ) AS diskadmin, MAX( CASE WHEN srm.role_principal_id = 9 THEN 1 END ) AS dbcreator, MAX( CASE WHEN srm.role_principal_id = 10 THEN 1 END ) AS bulkadmin FROM sys.server_principals AS spR JOIN sys.server_role_members AS srm ON spR.principal_id = srm.role_principal_id JOIN sys.server_principals AS spU ON srm.member_principal_id = spU.principal_id WHERE spR.[type] = 'R' GROUP BY spU.name; |
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü üzere tüm kullanıcılar ve rolleri listelenmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.
