데이터베이스 사용자의 데이터베이스 테이블에 부여 된 권한 테이블을 어떻게 생성합니까?
-
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'
제휴하지 않습니다 StackOverflow