SSMS 폴링 간격 구성

jevida(강성욱) 2016.10.07 03:26 Views : 1851

SSMS 폴링 간격 구성

 

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

 

SQL Server Management Studio(SSMS) 개체탐색기에서 SQL Server의 상태 및 SQL Agent의 서비스 상태를 표시한다.

이 서비스 표시에 사용되는 메커니즘에 대해서 알아 보자. 이번 포스트는 CSS SQL Server Engineer 팀 블로그에 포스트된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류 및 기술적 오류의 가능성을 미리 알려둔다. 자세한 내용은 원문을 참고 하길 바란다.

 

개체탐색기의 서비스 상태 정보를 표시하는 것은 WMI 계층을 통해 제공 된다. SSMS를 실행하면 개체 탐색기 창에서 초기화 할 때 이 정보를 얻기 위해 개체 탐색기 WMI 네임스페이스에 연결하여 다양한 WMI 쿼리를 수행 한다.

 

개체 탐색기는 다음과 같은 호출을 사용하여 WMI 공급자 CIMWin32의 두 서비스에 대한 정보를 추출 한다.

  • Provider::GetObject - Win32_Service.Name=""MSSQLSERVER""
  • Provider::GetObject - Win32_Service.Name=""SQLSERVERAGENT""

 

상태 변경 정보를 얻을 수 있는 알림 설정은 ManagementEventWatcher의 System.Management클래스를 사용한 쿼리형식이다.

  • IWbemServices::ExecNotificationQuery - select * from __InstanceModificationEvent within 10 where TargetInstance isa 'Win32_Service'

 

기본적으로 10초마다 서비스 상태 정보를 받을 수 있다. cimwin32.dll 공급자 Wmiprvse.exe 프로세스에서 내부적으로 10초마다 실행 된다.

  • IWbemServices::ExecQuery - select * from Win32_Service

 

폴링 간격은 기존 10초를 사용하지만 변경 할 수 있다. 변경 방법은 레지스트의 값을 변경해야 한다.

  • 64bit : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\100\Tools\Shell
  • 32bit : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Shell

 

 

 

레지스트리 편집기에서 새로 만들기를 클릭하여 [DWORD]값을 선택, 이름을 [PollingInterval]을 입력 한다. 값에는 0~2147483647 사이의 값을 입력한다. 0의 경우에는 폴링을 사용하지 않는다.

 

0으로 설정하여 폴링을 사용하지 않을 경우에는 더 이상 개체 탐색기에서 서비스 상태 정보를 확인 할 수 없다.

 

 

시스템에서 모든 작업을 하려면 SSMS 시작 시 WMI에 공급자 cmiv2에 대한 적절한 윈도우 계정 권한이 필요하다. 기본적으로 '인증된 사용자'는 네임스페이스에 원격 액세스 할 수 없는 것을 확인 할 수 있다. 관리자 그룹만 이 권한을 가지고 있다.

 

 

필요한 권한이 없는 경우 SSMS 개체 탐색기에서 상태 정보를 확인 할 수 없다. DBA가 SSMS를 사용하여 동일한 서버에 연결 하는 경우 이러한 클라이언트의 모든 사람은 기본 적으로 10초의 폴링 서비스를 수행하며 Wmiprvse.exe 및 Lsass.exe가 이러한 요청을 충족하기 위해 몇 가지 리소스를 사용하는 것을 알 수 있다.

 

[참고자료]

 

 


강성욱 / 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 37971
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20648
1854 SQL Server 가상화 팁 jevida(강성욱) 2016.10.08 2091
1853 Net Framework 4.0과 SQL Server 2008 설치 오류 jevida(강성욱) 2016.10.08 1906
1852 SQL Server 인덱스 튜닝 접근 jevida(강성욱) 2016.10.07 3554
1851 Sys.dm_os_performance_counter 해석하기 jevida(강성욱) 2016.10.07 2583
1850 프로파일러를 이용한 중첩된 프로시저 디버깅 jevida(강성욱) 2016.10.07 1655
1849 SAN 스토리지 성능 모니터 - SAN 스토리지를 사용하는 경우 성능 카운터를 어떻게 모니터링 할까? jevida(강성욱) 2016.10.07 1848
1848 저장된 Plan Cache 확인 및 활용 jevida(강성욱) 2016.10.07 4821
1847 Xp_fixeddrives 세부 정보 확인하기 jevida(강성욱) 2016.10.07 2012
1846 강제 매개변수화로 인한 성능 저하 사례 jevida(강성욱) 2016.10.07 1653
1845 파라메터 스니핑과 데이터 스큐 jevida(강성욱) 2016.10.07 1581
1844 DBCC CHECKDB 버그 및 해결 방법 jevida(강성욱) 2016.10.07 1621
1843 NOLOCK HINT 이해 jevida(강성욱) 2016.10.07 7995
1842 인증으로부터 분리된 사용자 방지 jevida(강성욱) 2016.10.07 3192
1841 비관리자 계정으로 쿼리 계획 보기 jevida(강성욱) 2016.10.07 1293
» SSMS 폴링 간격 구성 jevida(강성욱) 2016.10.07 1851
1839 Deadlock 감지하여 알림하기 jevida(강성욱) 2016.10.07 1902
1838 Suspect_pages 테이블 이해 및 관리 jevida(강성욱) 2016.10.07 1444
1837 SSRS SocketException jevida(강성욱) 2016.10.07 1532
1836 파티션 분할 시 I/O 최소화 하기 jevida(강성욱) 2016.10.07 1939
1835 대량 BCP 작업 시 발생하는 오류 (665, 1450, 33) jevida(강성욱) 2016.10.07 1769





XE Login