Tôi hiểu rằng thông tin đăng nhập Người dùng miền được ánh xạ vào nhóm QUẢNG CÁO?
Bạn phải nhớ rằng người dùng có thể thuộc một số nhóm AD và mỗi nhóm có thể được ánh xạ bằng cách nào đó trong cơ sở dữ liệu, điều này có thể hơi lộn xộn. Ngoài ra, nó có nghĩa là bạn cần một cái gì đó có nhiều kết quả :)
Hãy thử điều này:
select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1
Tôi nghĩ rằng nó sẽ lấy đúng tất cả các thông tin đăng nhập Windows Group sẽ được ràng buộc với những người dùng cụ thể. Sau đó, bạn có thể tham gia nó cho người dùng cơ sở dữ liệu, tức là:
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)
Bạn phải ghi nhớ rằng - bằng mọi cách - bạn có thể cần phải xử lý các tập hợp toàn bộ thay vì xử lý các giá trị đơn lẻ.