Tôi không chắc chắn nếu tôi đã chọn đúng tiêu đề cho câu hỏi này. Những gì tôi thực sự theo đuổi là, với một người dùng AD riêng lẻ, tôi muốn tìm hiểu danh sách các nhóm AD (đăng nhập) có quyền truy cập vào cơ sở dữ liệu cụ thể trong máy chủ này
khi tôi chạy truy vấn sau
select
name,
principal_id,
type,
type_desc,
default_schema_name,
create_date,
modify_date,
owning_principal_id,
sid,
is_fixed_role
from sys.database_principals
trong máy chủ của tôi
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 17 tháng 6 năm 2011 00:54:03 Bản quyền (c) Microsoft Corporation Standard Edition (64-bit) trên Windows NT 6.1 (Build 7601: Gói dịch vụ 1)
Tôi nhận được các kết quả sau (danh sách một phần):
Tôi cần biết tất cả các quyền mà một đăng nhập cụ thể có. thông tin đăng nhập này có quyền truy cập vào máy chủ / cơ sở dữ liệu của tôi thông qua các nhóm AD.
1) nhóm AD nào, từ danh sách trên, đăng nhập của tôi thuộc về?
Tôi đã làm điều này, bên dưới, nhưng tôi thực sự muốn tìm ra danh sách các nhóm AD (có quyền truy cập vào máy chủ này theo hình trên) mà người dùng này thuộc về.
Đầu tiên tôi thực hiện với tư cách là người dùng trong câu hỏi
EXECUTE AS LOGIN='mycompany\HThorne'
DECLARE @User VARCHAR(20)
SELECT @USER = SUBSTRING(SUSER_SNAME(),
CHARINDEX('\', SUSER_SNAME()) + 1, LEN(SUSER_SNAME()))
tôi chắc chắn rằng tôi có thông tin xác thực
SELECT @USER
, SUSER_SNAME()
,SYSTEM_USER
, USER_NAME()
, CURRENT_USER
, ORIGINAL_LOGIN()
, USER
,SESSION_USER
Tôi đi đến cơ sở dữ liệu cụ thể và sử dụng fn_my_permissions - chạy như người dùng trong câu hỏi
use WebDataImportStage
go
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
GO
REVERT
và đó là cho tôi kết quả dưới đây: