시스템 관리자 권한이 없는 특정 프로그램에서 Trace Flag 사용하기
-
Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016
관리자 권한이 없는 계정을 사용하는 특정 어플리케이션이 실행될 때 예약된 추적 플래그를 실행하는 방법에 대해서 알아본다.
유사한 케이스로 프로파일러 사용법도 있다.
-
비관리자 계정으로 프로파일러 사용하기 : http://sqlmvp.kr/220322107960
시나리오는 다음과 같다. 특정 시스템에 추적 플래그를 설정 해야 한다. 하지만 서버에 추적 플래그를 설정하게 되면 다른 어플리케이션에 영향이 있다. 따라서 해당 어플리케이션이 실행될 때 추적플래그를 실행하고 싶다. 그런데 해당 어플리케이션을 사용하는 계정은 관리자 권한이 없다.
아래 예제 스크립트와 같이 프시저와 트리거를 생성하여 특정 어플리케이션이 실행될 때 트리거가 작동되어 추적 플래그를 실행할 수 있다. 아래 예제는 TF 9481을 적용하는 예제이다.
alter database master set trustworthy on go
use master
go create procedure proc_enable_tf with execute as owner as Exec('dbcc traceon(9481)')
go grant execute on proc_enable_tf to public go
create TRIGGER trigger_enable_tf ON ALL SERVER FOR LOGON AS BEGIN IF app_name()= 'Microsoft SQL Server Management Studio – Query' — replace this with your application name begin exec master.dbo.proc_enable_tf end END; |
[참고자료]
2016-02-01 / 강성욱 / http://sqlmvp.kr
추적플래그, DBCC TRACE, TF 9481, SQL Server, MS SQL, 트리거, Trigger, with execute as owner, FOR LOGON
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2016 DBCC CHECK 작업 성능 향상 (0) | 2016.03.27 |
---|---|
Query Rule Off를 사용한 SQL Server 옵티마이저 비활성화 (0) | 2016.03.03 |
In-Memory OLTP 환경에서 체크포인트 작업과 디스크 부족 경고 (0) | 2016.01.26 |
DeadLock(교착상태) 모니터 하기 (0) | 2016.01.11 |
Spool 연산자와 추적 플래그 8690 (0) | 2016.01.11 |