簡體   English   中英

如何獲取用戶的SQL Server登錄映射和角色成員身份

[英]How to get SQL Server login mappings & role membership for a user

從技術上講,我需要C#中的代碼來執行此操作,但是SQL也可以正常工作。 說,我有一個SQL Server 2008或更高版本的登錄名或用戶帳戶。 我們稱它為c_user002

  1. 如何將數據庫映射到該用戶?

  2. 如何獲得該用戶的角色成員資格(或權限)?

可以通過SQL Server Management Studio中的屏幕快照最好地說明這兩個概念:

在此處輸入圖片說明

這是部分答案。 您可以使用此查詢找出哪些用戶對哪些對象具有哪些權限:

SELECT
         dp.name AS DBUser,
         dp.type_desc AS UserType,
         OBJECT_NAME(p.major_id) AS ObjectName,
         p.permission_name AS Permission,
         p.state_desc AS PermissionStatus,
         dp.is_fixed_role AS BuiltInRole
FROM
         sys.database_permissions AS p
LEFT OUTER JOIN
    sys.database_principals AS dp
    ON
    dp.principal_id = p.grantee_principal_id 
 WHERE (p.class = 1); -- Limit to Object or Column;

請注意,這僅適用於當前數據庫。 您始終可以遍歷所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM