Saya telah mencari di seluruh dan belum menemukan jawaban konklusif untuk pertanyaan ini.
Saya membutuhkan skrip yang dapat memberikan SEMUA izin untuk peran terkait.
Ada pemikiran, atau bahkan mungkin?
Ini membuat saya TUTUP - tetapi sepertinya saya tidak bisa membalikkannya dan memberikan ringkasan untuk peran, bukan pengguna.
WITH perms_cte as
(
select USER_NAME(p.grantee_principal_id) AS principal_name,
dp.principal_id,
dp.type_desc AS principal_type_desc,
p.class_desc,
OBJECT_NAME(p.major_id) AS object_name,
p.permission_name,
p.state_desc AS permission_state_desc
from sys.database_permissions p
inner JOIN sys.database_principals dp
on p.grantee_principal_id = dp.principal_id
)
--role members
SELECT rm.member_principal_name, rm.principal_type_desc, p.class_desc,
p.object_name, p.permission_name, p.permission_state_desc,rm.role_name
FROM perms_cte p
right outer JOIN (
select role_principal_id, dp.type_desc as principal_type_desc,
member_principal_id,user_name(member_principal_id) as member_principal_name,
user_name(role_principal_id) as role_name--,*
from sys.database_role_members rm
INNER JOIN sys.database_principals dp
ON rm.member_principal_id = dp.principal_id
) rm
ON rm.role_principal_id = p.principal_id
order by 1
sql-server
sql-server-2008-r2
elgabito
sumber
sumber
Saya tidak dapat menemukan referensi, tetapi ini adalah skrip yang sangat deskriptif (saya sudah memilikinya di repositori saya selama bertahun-tahun sekarang - sangat berguna untuk audit):
sumber
Ini menurut saya harus melakukannya, ganti 'bla' dengan nama peran Anda atau pengguna basis data (perhatikan bahwa peran yang dibangun tidak menunjukkan memiliki izin):
sumber
Hanya untuk menambah daftar saya punya beberapa SPs sp_dbpermissions dan sp_srvpermissions yang dapat digunakan untuk mengembalikan jenis informasi yang sama.
Anda bisa lari
Dan dapatkan ini
(Anda tidak dapat melihatnya tetapi skrip hibah tidak aktif di sebelah kanan pada kumpulan data ketiga dan letakkan / buat skrip di sebelah kanan pada kumpulan data pertama.)
sumber
Ini usaha saya. Saya memiliki skrip yang lebih panjang yang mengulang semua DB juga, beri tahu saya jika itu lebih berguna:
sumber
hanya untuk menambah jawaban yang diterima , suatu peran terkadang dapat menjadi milik peran lain.
sumber
Karena ini muncul kembali melalui bot Komunitas, saya akan membuang skrip saya ke dalam topi karena cukup lengkap dan saya belum menemukan apa pun yang tidak diidentifikasi. Bonusnya adalah output diformat dengan baik dan memungkinkan untuk peran basis data yang cukup luas juga:
sumber