Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana menemukan nama login, nama pengguna basis data, atau peran pengguna domain sqlserver yang tidak memiliki login sendiri?

Saya mengerti bahwa login Pengguna Domain dipetakan ke grup AD?

Anda harus ingat bahwa pengguna dapat berada di beberapa grup AD dan masing-masing dapat dipetakan entah bagaimana dalam database yang mungkin agak berantakan. Itu juga berarti Anda membutuhkan sesuatu dengan banyak hasil :)

Coba ini:

select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1

Saya pikir itu harus mengambil dengan benar semua login Grup Windows yang akan diikat dengan pengguna tertentu. Setelah itu Anda dapat bergabung untuk pengguna database yaitu:

Select u.name from YourDB.sys.syslogins l
inner join YourDB.sys.sysusers u
on l.sid = u.sid
where l.loginname = ANY (select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1)

Anda harus ingat bahwa - sepanjang jalan - Anda mungkin perlu menangani seluruh rangkaian daripada nilai tunggal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tinjauan Perangkat Lunak – Perbaikan Stellar untuk MS SQL

  2. Mengapa kolom TEXT hanya mengembalikan 4096 byte?

  3. Kirim Email dengan Lampiran di SQL Server (T-SQL)

  4. pyodbc di google colab

  5. 2 Cara Mendaftar Semua Fungsi Bernilai Tabel di Database SQL Server