SQL Server 2008 데이터베이스에서 특정 역할에 대한 SELECT 권한이있는 모든 테이블의 목록을 가져 오도록 요청 받았습니다. GRANT SELECT 권한을 취소하는 스크립트를 작성해야하기 때문에 쿼리에 있어야합니다.특정 사용자 지정 역할에 GRANT SELECT가있는 테이블 결정
감사합니다.
SQL Server 2008 데이터베이스에서 특정 역할에 대한 SELECT 권한이있는 모든 테이블의 목록을 가져 오도록 요청 받았습니다. GRANT SELECT 권한을 취소하는 스크립트를 작성해야하기 때문에 쿼리에 있어야합니다.특정 사용자 지정 역할에 GRANT SELECT가있는 테이블 결정
감사합니다.
이 답변은 전체 답변이 아니며, 필자는 올바른 설치를 위해 SQL Server 설치가 필요하지 않습니다. 저장 프로 시저를 실행 중입니다. 결과 세트 내에서
USE yourDB;
GO
EXEC sp_table_privileges
@table_name = '%';
, 당신은 주로 세 번째 열,
table_name
, 여섯 번째 열,
privileges
에 관심이있을 수 있습니다.
출처 : MSDN: sp_table_privileges 내 마음에
, 다음 단계는 - 가정 이것이 당신이 찾고있는 데이터가 - 임시 테이블에 EXEC 문의 결과를 삽입 하나이 SQL 문을 래핑하는 것 그런 다음 필요에 따라 슬라이스하고 다이스 할 수 있습니다. 이 노력은 독자에게 운동으로 남겨둔다 (nudge nudge). this stack overflow question의 세 번째 대답은 위의 쿼리를 확장하는 데 사용할 수 있지만 항상 YMMV와 같습니다.