sql >> データベース >  >> RDS >> Sqlserver

ログイン名、データベースユーザー名、または独自のログインを持たないsqlserverドメインユーザーのロールを見つける方法は?

    ドメインユーザーのログインがADグループにマッピングされていることを理解していますか?

    ユーザーは複数のADグループに属している可能性があり、それぞれがデータベースに何らかの形でマッピングされる可能性があることに注意する必要があります。これは少し面倒な場合があります。また、複数の結果が得られるものが必要であることも意味します:)

    これを試してください:

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

    特定のユーザーに関連付けられるすべてのWindowsグループログインを適切に取得する必要があると思います。その後、データベースユーザーのために参加できます。例:

    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)
    

    単一の値ではなく、セット全体を処理する必要がある場合があることを覚えておく必要があります。




    1. sockets.io/node.js/javascriptを使用してmysqlの特殊文字をエスケープする方法

    2. null値ではないn番目に相当する合体-MySQL

    3. mysqlデータを3列に分割するエラー

    4. p:dataTableによる行番号付け