데이터베이스 사용자의 데이터베이스 테이블에 부여 된 권한 테이블을 어떻게 생성합니까?

StackOverflow https://stackoverflow.com/questions/212681

  •  03-07-2019
  •  | 
  •  

문제

약 수백 테이블이있는 SQL Server 2000 데이터베이스가 있습니다. 이 데이터베이스에 액세스 할 수있는 몇 가지 SQL 사용자 계정이 있지만 각각은 DB의 테이블에 대한 다른 권한이 부여됩니다.

특정 사용자에게 부여 된 권한에 대한 보고서를 제공하기 위해 스크립트를 작성하려면 어떻게합니까? 즉, 다음과 같은 것을 생성합니다.

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

등등. 금요일, 내 SQL-FU는 오늘 낮고 오늘 이곳에서 끝나기 전에해야 할 백만 가지가 있습니다.

도움이 되었습니까?

해결책

Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

이것은 SQL Server 2000/2005/2008에서 작동합니다

다른 팁

이 절차가 SQL 2000에서 작동하는지 여부는 확실하지 않으며 정확한 형식을 얻지 못하지만, 그 길의 일부를 얻을 수 있습니다. 당신은 당신이 당신의 형식을 얻기 위해 그것을 피봇 할 수 있습니까?

sys.sp_helprotect @Username = 'myUser'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top