2009-10-14 3 views
0

SQL Server 7.0에서는 특정 데이터베이스의 테이블에 대한 쓰기 권한이있는 사용자를 찾아야합니다.SQL Server : 어떤 사용자가 어떤 테이블에 대한 쓰기 권한을 갖고 있는지 확인하십시오.

필자는 Enterprise Manager에서 데이터베이스의 각 테이블을 살펴보고 해당 테이블에 부여 된 액세스를 살펴 보았습니다.하지만 데이터베이스에는 수백 개의 테이블이 있습니다. 소수의 사용자 만이 관심을 갖기 때문에 사용자로부터 접근하고 싶습니다.

이 작업을 수행하기 위해 시스템 테이블에서 실행할 수있는 쿼리가 있습니까? 엔터프라이즈 관리자를 통해 다른 접근법이 있습니까? 마법 (27)는 1 (선택) + 2 (UPDATE)에서 구축

UserOne has write access to Table1, Table2 and Table3 
UserTwo has write access to Table2 and Table3 
etc. 

답변

2
SELECT u.name, o.name 
FROM syspermissions p, sysobjects o, sysusers u 
WHERE p.id = o.id 
AND u.uid = p.grantee 
AND u.name IN ('UserOne', 'UserTwo', 'UserThree') 
AND o.xtype = 'U' 
AND p.actadd = 27 

+ 8 (INSERT) + 16 (삭제) :

무엇 난 후 것은 기본적으로 말한다 뭔가

올바른 코스에서 나를 설정 해주는 Matt Lacey와 Google 덕분에 : http://blog.mrlacey.co.uk/2007/06/checking-database-permissions-in-sql.html