다음을 사용하여 효과적인 권한을 쿼리 할 수 있음을 알고 있습니다 sys.fn_my_permissions
.
USE myDatabase;
SELECT * FROM fn_my_permissions('dbo.myTable', 'OBJECT')
entity_name | subentity_name | permission_name
------------------------------------------------
dbo.myTable | | SELECT
dbo.myTable | | UPDATE
...
현재 사용자에게 myTable
데이터베이스에서 SELECT, INSERT, UPDATE 등의 권한이 있는지 여부를 알려줍니다 myDatabase
.
사용자에게 이러한 권한이있는 이유 를 쉽게 찾을 수 있습니까? 예를 들어 fn_my_permissions_ex
추가 reason
열 을 출력하는 함수를 갖고 싶습니다 .
USE myDatabase;
SELECT * FROM fn_my_permissions_ex('dbo.myTable', 'OBJECT')
entity_name | subentity_name | permission_name | reason
------------------------------------------------------------------------------------------------------------------------------------
dbo.myTable | | SELECT | granted to database role public
dbo.myTable | | UPDATE | member of group MYDOMAIN\Superusers, which belongs to database role db_datawriter
...
불행히도 SQL Server 설명서에서 이러한 기능을 찾을 수 없습니다. 이 기능을 제공하는 도구 나 스크립트가 있습니까?
왜 txt 파일로 내 보내지 않습니까?, 어떤 OS를 사용하고 있습니까?
—
jcho360
@ jcho360 : 기능이 없으므로
—
Heinzi
fn_my_permission_ex
내보낼 수있는 것이 없습니다. 해당 기능을 가진 기능이나 도구가 있는지 묻습니다 .
SSMS를 사용하고 있습니까?
—
jcho360
멋진 질문입니다. 나는 이것을 매우 오랫동안 알아 내려고 노력했다. fn_my_permissions는 다소 작동하지만 종종 원점까지 추적 할 수없는 권한을 보여줍니다.
—
PseudoToad 2018 년