비관리자 계정에 Profiler 실행 권한 부여하기

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012, 2014

 

SQL Server Profiler는 추적을 작성 및 관리하고 추적 결과를 분석하거나 특정 단계를 재생 할 수 있다.

 

 

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 실행 권한을 부여 할 수 있어 접근제어에 따라 적절하게 사용할 수 있다.

 

 

[참고자료]

http://www.mssqltips.com/sqlservertip/3559/how-to-grant-permissions-to-run-sql-server-profiler-for-a-non-system-admin-user/

 




강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 45277
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 24204
2014 트랜잭션로그 파일이 손상된 데이터베이스 복원 하기 jevida(강성욱) 2017.01.11 4754
2013 트랜잭션 로그 백업을 읽고 트랜잭션 발생 시간 및 사용자 찾기 jevida(강성욱) 2017.01.11 3402
2012 RESOURCE_GOVERNOR_IDLE과 쿼리 성능 jevida(강성욱) 2017.01.11 2106
2011 TDE 암호화된 데이터베이스 복원 jevida(강성욱) 2017.01.11 2586
2010 재해복구를 위한 SQL Server 역할 가져오기 jevida(강성욱) 2017.01.11 2356
» 비관리자 계정에 Profiler 실행 권한 부여하기 jevida(강성욱) 2017.01.11 3369
2008 SQL Server Agent 공유 일정 생성하기 jevida(강성욱) 2017.01.11 2241
2007 인덱스 리빌드는 통계를 업데이트 할까? jevida(강성욱) 2017.01.11 2587
2006 인덱스 유지관리 작업과 SQL Server 쿼리 성능 jevida(강성욱) 2017.01.11 3487
2005 네트워크 드라이브에 데이터베이스 복원하기 jevida(강성욱) 2017.01.11 4351
2004 확장 저장 프로시저를 활용한 논리디스크 용량 확인 jevida(강성욱) 2017.01.11 2558
2003 날짜 참조 테이블 만들기 jevida(강성욱) 2017.01.11 3287
2002 인덱스 상세 정보 확인 jevida(강성욱) 2017.01.11 3857
2001 DTC Transacntion 오버헤드 jevida(강성욱) 2017.01.11 1353
2000 대용량 로드를 위한 BULK INSERT 옵션 jevida(강성욱) 2017.01.11 5629
1999 SQL Server 2014 Diagnostic Information Queries jevida(강성욱) 2017.01.11 1676
1998 SQL Server 2012 Contained Database jevida(강성욱) 2017.01.11 1105
1997 SQL Server 2008R2 Diagnostic Information Queries jevida(강성욱) 2017.01.11 1483
1996 SQL Server 2005 Diagnostic Information Queries jevida(강성욱) 2017.01.11 1418
1995 601 Error, Could not continue scan with NOLOCK due to SQL Server data Movement jevida(강성욱) 2017.01.11 4226





XE Login