데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SSMS 폴링 간격 구성

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

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
1850 프로파일러를 이용한 중첩된 프로시저 디버깅 jevida(강성욱) 2016.10.07 1557
1849 SAN 스토리지 성능 모니터 - SAN 스토리지를 사용하는 경우 성능 카운터를 어떻게 모니터링 할까? jevida(강성욱) 2016.10.07 1731
1848 저장된 Plan Cache 확인 및 활용 jevida(강성욱) 2016.10.07 4574
1847 Xp_fixeddrives 세부 정보 확인하기 jevida(강성욱) 2016.10.07 1730
1846 강제 매개변수화로 인한 성능 저하 사례 jevida(강성욱) 2016.10.07 1559
1845 파라메터 스니핑과 데이터 스큐 jevida(강성욱) 2016.10.07 1528
1844 DBCC CHECKDB 버그 및 해결 방법 jevida(강성욱) 2016.10.07 1540
1843 NOLOCK HINT 이해 jevida(강성욱) 2016.10.07 7812
1842 인증으로부터 분리된 사용자 방지 jevida(강성욱) 2016.10.07 2180
1841 비관리자 계정으로 쿼리 계획 보기 jevida(강성욱) 2016.10.07 1242
» SSMS 폴링 간격 구성 jevida(강성욱) 2016.10.07 1771
1839 Deadlock 감지하여 알림하기 jevida(강성욱) 2016.10.07 1780
1838 Suspect_pages 테이블 이해 및 관리 jevida(강성욱) 2016.10.07 1371
1837 SSRS SocketException jevida(강성욱) 2016.10.07 1472
1836 파티션 분할 시 I/O 최소화 하기 jevida(강성욱) 2016.10.07 1858
1835 대량 BCP 작업 시 발생하는 오류 (665, 1450, 33) jevida(강성욱) 2016.10.07 1648
1834 기본 추적(default tace) 활성화 및 로그 확인 jevida(강성욱) 2016.10.07 1392
1833 SQL Server ALTER TABLE syntax diagrams jevida(강성욱) 2016.10.07 1161
1832 SQL Server Performance Counter Guidance jevida(강성욱) 2016.09.30 2507
1831 SQL Server CREATE TABLE syntax diagrams jevida(강성욱) 2016.09.30 1421





XE Login