비관리자 계정에 Profiler 실행 권한 부여하기
-
Version : SQL Server 2005, 2008, 2008R2, 2012, 2014
SQL Server Profiler는 추적을 작성 및 관리하고 추적 결과를 분석하거나 특정 단계를 재생 할 수 있다.
-
SQL Server Profiler : https://msdn.microsoft.com/ko-kr/library/ms181091.aspx
SQL Server Profiler를 사용하기 위해서는 ALTER TRACE 권한이 필요하다. 권한이 없을 때에는 다음과 같은 오류가 발생 한다.
실습을 통해서 ALTER TRACE 권한을 부여하는 방법에 대해서 알아본다. 우선 권한이 없는 일반 사용자 계정을 생성한다.
USE Master; GO CREATE LOGIN sqlmvp WITH PASSWORD = 'sql!mvp@1'; GO
USE sw_test GO CREATE USER sqlmvp FOR LOGIN sqlmvp GO
exec sp_addrolemember 'db_owner', 'sqlmvp'; GO |
권한을 확인 하기 위해 sp_helplogins 프로시저를 실행하여 로그인 정보를 확인 할 수 있다. sqlmvp라는 계정이 sw_test 데이터베이스에 대해서만 db_owner 권한이 있으며 프로파일러를 실행하려면 ALTER TRACE에 사용자 GRANT권한을 부여해야 한다.
sp_helplogins sqlmvp |
SSMS에서 ALTER TRACE 권한을 부여하는 방법에 대해서 알아본다. 개체탐색기에서 [로그인]에서 권한을 부여할 로그인 계정을 선택한 후 마우스 오른쪽을 클릭하여 [속성]을 실행 한다.
로그인 속성창이 나타타면 [보안개체]에서 검색을 클릭하여 개체 추가를 한다.
개체 추가가 완료되면 사용권한을 부여하는데 SQL Server Profiler를 실행 할 수 있도록 [추적 변경](ALTER TRACE)을 선택하고 확인을 클릭한다
권한 부여가 완료되었으면 Profiler를 실행하여 정상적으로 프로파일러가 실행되는지 확인 한다.
스크립트로 ALTER TRACE 권한을 추가하는 방법에 대해서 알아 본다. 아래 스크립트는 권한을 부여하려는 계정의 로그인 인증 방법에 따라 다르게 실행해야 한다.
-- To Grant access to a Windows Login USE Master; GO GRANT ALTER TRACE TO [KSW_2012_2\WindowsLogin] GO
-- To Grant access to a SQL Login USE master; GO GRANT ALTER TRACE TO sqlmvp GO |
부여된 ALTER TRACE 권한을 삭제 하는 방법에 대해서 알아본다. 로그인 인증 방식에 따라 다르게 실행 해야 한다.
--REVOKE access FROM a SQL Login USE Master; GO REVOKE ALTER TRACE FROM sqlmvp; GO
-- REVOKE access FROM a Windows Login USE master; GO REVOKE ALTER TRACE FROM [KSW_2012_2\WindowsLogin] GO |
이처럼 비관리자 계정에 대해서만 Profiler 실행 권한을 부여 할 수 있어 접근제어에 따라 적절하게 사용할 수 있다.
[참고자료]
SQL Server, MSSQL, SQL Profiler, 프로파일러, 데이터베이스, ALTER TRACE, 추적파일, SQL추적, DB튜닝, Permission, create login, sql2012, sql2014, sql2008, sql
'SQL Server > SQL Server Tip' 카테고리의 다른 글
TDE 암호화된 데이터베이스 복원 (0) | 2015.07.23 |
---|---|
재해복구를 위한 SQL Server 역할 가져오기 (0) | 2015.07.23 |
SQL Server Agent 공유 일정 생성하기 (0) | 2015.07.23 |
인덱스 리빌드는 통계를 업데이트 할까? (0) | 2015.07.23 |
인덱스 유지관리 작업과 SQL Server 쿼리 성능 (0) | 2015.07.23 |