Saya tahu kita bisa memeriksa login dan pengguna yang didefinisikan, menggunakan GUI di SQL Server, tetapi saya bertanya-tanya bagaimana kita bisa melakukan pemeriksaan ini menggunakan skrip.
Saya menjalankan kueri di bawah ini tetapi itu menunjukkan Principal_id yang saya tidak yakin cara memetakan untuk mendapatkan tingkat izin.
SELECT * FROM Sys.login_token
Jadi, apakah ada proc yang tersimpan di dalam yang dapat mencantumkan login dan pengguna dengan tingkat izin mereka ?
Terima kasih.
sql-server
sql-server-2008
security
Langit
sumber
sumber
Jawaban:
Tidak yakin apakah ada cara bawaan, tapi coba kueri ini untuk pelaku server:
Pada dasarnya apa yang dilakukannya itu mendapatkan izin yang diberikan dan ditolak, dan menyatukannya dengan peran keanggotaan. Seharusnya memberi Anda pandangan singkat tentang keamanan untuk login server. Beri tahu saya jika itu yang Anda cari.
sumber
CAST([srvperm].[state_desc] AS VARCHAR(MAX)) + ' ' + CAST(srvperm.[permission_name] AS VARCHAR(MAX)) + ' TO [' + CAST(srvprin.name AS VARCHAR(MAX)) + '];' as GrantQuery
yang membantu untuk mereplikasi izin tersebut jika Anda memigrasi server :)Coba ini - ini akan mencantumkan pengguna, objek dan izin yang mereka miliki pada objek-objek tersebut:
Anda juga harus memeriksa fungsi sys.fn_my_permissions:
http://msdn.microsoft.com/en-us/library/ms188367.aspx
Berikut adalah beberapa tautan yang seharusnya membantu Anda juga:
Perizinan: http://msdn.microsoft.com/en-us/library/ms191291.aspx
SYS.DATABASE_PERMISSIONS: http://msdn.microsoft.com/en-us/library/ms188367.aspx
Saya harap ini membantu Anda.
sumber