Q&A
実現したいこと
Azure上でDBを構築しています。
特定のユーザに設定されている権限を確認し、その権限に応じて異なる処理を行おうと考えています。
特定のユーザに設定されている権限を確認する方法を教えてください。
試したこと
Microsoftのドキュメントにある下記のSQLでユーザの一覧およびロールを確認することができます。
https://learn.microsoft.com/ja-jp/sql/relational-databases/system-catalog-views/sys-database-role-members-transact-sql?view=sql-server-ver16
TransactSQL
1#MSのドキュメント抜粋 2SELECT DP1.name AS DatabaseRoleName, 3 isnull (DP2.name, 'No members') AS DatabaseUserName 4 FROM sys.database_role_members AS DRM 5 RIGHT OUTER JOIN sys.database_principals AS DP1 6 ON DRM.role_principal_id = DP1.principal_id 7 LEFT OUTER JOIN sys.database_principals AS DP2 8 ON DRM.member_principal_id = DP2.principal_id 9WHERE DP1.type = 'R' 10ORDER BY DP1.name;
↑のWHERE句を弄って特定のユーザの列のみ選ぶようにすればいいと思うのですが、
SQL文が全く思い浮かびません。
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/12/19 01:19