SQL Server Management Studio에서 새 창을 여는 속도가 느림


29

SQL Server와 Management Studio를 2008 년에서 2012 년으로 업그레이드 한 후 새 쿼리 창과 대화 상자를 열면 Management Studio 2012가 매우 느려집니다.

테이블을 마우스 오른쪽 버튼으로 클릭해도 속도가 느립니다. 창 내에서 작업을 시작하기 전에 일반적으로 5 초 이상 지연됩니다. 이것은 같은 창을 두 번 연속으로 열더라도 매번 발생합니다. 왜 이런 일이 발생하며 어떻게 해결할 수 있습니까?

다른 응용 프로그램은 데이터베이스에 매우 빠르게 연결합니다.

내가 시도한 것들이 도움이되지 않았습니다.

  • Google에서 hosts파일 을 수정해야 할 히트
  • SSMS "사용자 정의 설정"재설정
  • 비디오 드라이버 업데이트, 하드웨어 가속 끄기, DirectX 비활성화
  • 생체 인증 서비스 비활성화 (설치되어 있지 않습니다).

내 컴퓨터는 충분히 빠르며 RAM도 16GB입니다. 내 하드웨어는 문제가되지 않습니다. SSMS가 무언가를 기다리는 것 같습니다. 이런 일이 발생하는 동안 다른 프로그램을 원활하게 운영 할 수 있습니다.

핫픽스를 설치하는 동안 오류가 발생할 위험이 있으므로 지금은 위험에 처할 수 없기 때문에 SQL Server 2012 CU1 업데이트를 설치할 기회가 없습니다.


나는이 행동을 보지 못한다. 그런 다음 추가 조사를 수행하면 (1) 프로세스 모니터를 사용하여 프로세스가 수행중인 작업을 확인하고 단서가 있는지 확인할 수 있습니다. (2) SQL Server 프로파일 러를 사용하여 SSMS에서 보낸 쿼리 중 지속 시간이 높은지 확인 (예 : 차단) 콜 스택은 무엇이든 공개했다.
Martin Smith

답변:


11

SQL Server Management Studio 시작

Microsoft의 SSMS (SQL Server Management Studio)가 시작되면 Microsoft의 CRL (Certificate Revocation List)을 연결하려고합니다.

http://crl.microsoft.com/pki/crl/products/MicrosoftRootAuthority.crl

SSMS의 기본 .NET 구성 요소가 인증서 해지 목록에 연결하려고하는데 SSMS가이를 수행 할 수 없습니다. 이렇게하면 전체 로딩 절차가 느려집니다. (증명서 당 15 초)

자, 여기에 무슨 일이 일어나고 있습니다. SSMS는 관리 코드의 비율이 높으며이 코드는 모두 선적시 서명됩니다. 시작시 (이 설정을 확인한 경우) .Net 런타임은 crl.microsoft.com에 연결하여 인증서가 유효한지 확인하려고합니다 (Microsoft의 이름으로 발급 된 가짜 인증서가 있었기 때문에 이는 매우 유효한 문제입니다) . 인터넷에 연결되어 있지 않거나 인증서 해지 목록 서버에 연결하는 데 문제가 있으면 SSMS 시작이 지연됩니다.

참조 : FAQ, SSMS를 시작하는 데 왜 45 초가 걸립니까? (MSDN 블로그)

이 문제를 일으킬 수있는 한 가지 문제는 서버가 인터넷에 액세스 할 수없는 경우 .NET 프레임 워크가 crl.microsoft.com 웹 사이트에 액세스하여 관리되는 애플리케이션의 바이너리에 서명하는 데 사용 된 디지털 서명을 확인할 수 없다는 것입니다. 유효합니다. 각 인증서 검사에는 .NET 런타임 구현에서 15 초의 시간 초과가 있습니다. 설치된 기능에 따라 Management Studio를 시작하는 데 최대 1 분이 걸릴 수 있습니다.

참조 : SQL Server Management Studio 시작 시간 (MSDN 블로그)

솔루션

인증서를 다운로드하여 브라우저에 직접 링크를 입력 한 다음 인증서를 인증서 데이터베이스로 가져 와서 문제의 일부를 피할 수 있습니다.

  • 또는-

Microsoft의 CRL에 연결할 수 있도록 회사의 방화벽을 재구성 할 수 있습니다.

  • 또는-

개인 바이러스 백신 / 방화벽을 재구성하여 Microsoft CRL에 연결할 수 있습니다.

  • 또는-

Microsoft의 CRL에 액세스하는 요청에 대해 클라이언트에 시간 초과를 더 빨리 보내도록 (회사) 방화벽을 구성 할 수 있습니다.

  • 또는-

고급 설정에서 더 이상 "게시자의 인증서 해지를 확인"하지 않도록 IE를 구성 할 수 있습니다.

(자세한 내용은 위에서 언급 한 블로그 12 를 참조하십시오)


7

서버 이름 "./"에 연결할 때와 같은 경험이 있습니다. 멍청한 행운으로 서버 이름 "(local)"에 연결할 때 성능 문제가 발생하지 않는다는 것을 알았습니다. SSMS 2012가 "./"를 통해 서버를 확인하는 방식에 문제가있을 수 있습니다.

편집 : ADO.NET 연결에서 ./로 속도를 재생할 수 있기 때문에 SSMS와 관련이 있다고 생각하지 않습니다.


6

SSMS가 더 이상 올바르게 처리 할 수없는 설정 (일부 서버에 대한 연결 또는 일부 추가 기능 설정)을 가져 왔을 수 있습니다.

SSMS의 사용자 정의 설정을 "재설정"할 수있는 잔인한 방법이 있습니다.

SSMS를 닫고 폴더로 이동하십시오.

C:\Users\YOURWINLOGINNAME\AppData\Roaming\Microsoft\SQL Server Management Studio\

하위 폴더 "11.0"이 있습니다. 이름을 "11.0_"으로 바꾸면 언제든지 이름을 바꿀 수 있습니다. 이제 SSMS를 시작하십시오. 깨끗한 설정을 다시 만들고 문제가 해결 될 수 있습니다. 그렇지 않은 경우-새로 생성 된 "11.0"을 삭제하고 "11.0_"의 이름을 "11.0"으로 다시 바꾸십시오.

이것은 업그레이드 후에 손상된 일부 추가 기능의 동작 일 수도 있습니다. 애드 인은 일부 명령이나 이벤트에 대한 처리기로 등록되며 예외가 누락되거나 발생하면 시스템이 불안정해질 수 있습니다.

실제로 v2012는 추가 기능을 등록하기 위해 다른 메커니즘을 사용하지만 일부 추가 기능은 모든 인스턴스에 자동으로 설치됩니다. 확인하려면이 레지스트리 키를 살펴보십시오.

[HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\11.0_Config\AutomationOptions\LookInFolder]

폴더 목록이 있습니다. 이 모든 폴더를 확인하십시오-비어 있어야합니다 (추가 기능이 없음을 의미).


4

바이러스 백신을 비활성화 한 다음 SQL Server 2012 Management Studio의 성능을 확인하십시오.


4
이 제안의 근거는 무엇입니까?
Martin Smith

3

나는 개인적 으로이 문제를 경험하지는 않았지만 많은 사람들이 가지고 있는 긴 실이 있습니다 ( here ). 일반적인 조언은 다음 중 하나에 의한 비디오 드라이버 작업과 관련이있는 것 같습니다.

  1. 업데이트 된 비디오 드라이버 설치
  2. 하드웨어 성능 감소 또는 끄기
  3. DirectX 지원 해제

스레드에서 ...이 대답이 있었다 "윈도우 7 클린 부팅 절차는 생체 인식 인증 서비스 (DigitalPersona의 DPHostw.exe)이 문제였다 서비스를 한 것으로 밝혀졌습니다. 서비스가 문제를 해결 불가로."

내가 찾은 스레드가 이전 버전의 SSMS (예 : 2005, 2008 등)와 관련되어 있기 때문에 이러한 접근법 중 어느 것이 귀하의 경우에도 작동하는지 알고 싶습니다.


3

문제는 서버에 새 연결을 여는 데 5 초가 걸린다는 것입니다. 정확히 이것이 내가 알 수없는 경우 인 이유는 분석 및 진단을 위해 와이어 트레이스가 필요합니다. 시도중인 프로토콜과 성공한 프로토콜을 조사해야합니다. 클라이언트가 파이프라는 이름의 파이프를 먼저 시도한 다음 (SMB에 따라 다름) TCP로 폴백 할 수 있습니다 (이러한 경우 일반적인 지연 시간은 20-30 초 정도 훨씬 깁니다).

클라이언트 네트워크 구성 에서 클라이언트 프로토콜의 순서를 확인하는 것이 좋습니다 . 에서 자신의 항목을 찾아 클라이언트가 사용한 프로토콜을 확인하십시오 sys.dm_exec_connections.


3

동일한 문제가 있으며 Trend Micro Office 검색으로 인해 문제가 발생하는 것으로 나타났습니다.

나는이 문제에 대해 다른 유사한 스레드에서 설명한 모든 것을 아무 소용없이 시도했습니다. AV 소프트웨어를 비활성화하려고합니다. Trend Micro Office 검색이 해제되면 SSMS가 빠르게 밝아집니다.

이것은 Windows 7에서 발생하지 않았습니다.


3

상황에 맞는 메뉴를 표시하기 위해 테이블을 마우스 오른쪽 버튼으로 클릭하면 5-10 초 지연이 발생했습니다. 로컬 데이터베이스 만 사용하기 때문에 상황이 일부와 약간 다를 수 있습니다. 내 해결책 :

바이러스 백신을 사용하지 않도록 설정하는 것에 대한 imran의 답변을 읽은 후이 문제를 극복하기 위해 바이러스 백신을 완전히 사용 중지하지 않기 때문에 그 개념을 한 단계 더 발전 시켰습니다.

기본 데이터베이스 위치를 변경 한 다음 안티 바이러스에서 해당 디렉토리를 제외하여 지연을 크게 줄였습니다 (제 경우에는 Microsoft System Center Endpoint Protection 2015를 사용하고 있습니다).

기본 데이터베이스 위치를 변경하려면 자세한 내용은 다음 문서를 참조하십시오. http://thomaslarock.com/2015/02/changing-default-database-file-locations-in-sql-server/


3

SSMS 2016에서도 같은 문제가있었습니다. procmon 을 사용 하여 몇 초 지연되기 전에 마지막으로 수행 한 작업이 Microsoft IP 주소에 네트워크로 연결되었음을 확인했습니다. 그런 다음 레지스트리 키 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SQL Server\130CustomerFeedback을 1에서 0 으로 설정하여 고객 경험 프로그램을 해제하려고 했습니다. SSMS를 다시 시작한 후 다시 빠르게 작동합니다. 아마도 그것은 항상 새로운 쿼리 창을 느리게하지는 않지만 나에게는 그랬습니다.

SSMS 2012에서 무슨 일이 있었는지 모르겠지만 시도해 볼 가치가 있습니다. 레지스트리 키는 아마 110대신에 있을 것입니다 130.


2

SSMS 2016 및 레지스트리 변경에 대해 내 길은

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130\Tools\Setup\UserFeedbackOptIn  

나는 그것을 1에서 0으로 바꾸었고 SSMS는 다시 빠르다.


2

때로는 캐시 된 많은 쿼리 창을 닫아서이 문제를 해결할 수도 있습니다.

SSMS 인스턴스에 저장된 캐시에 약 15 개의 쿼리가 있습니다 (SSMS를 열 때마다 열림).이 창을 모두 닫고 SSMS를 다시 시작하면 문제가 즉시 사라졌습니다.


2

ssms v17.0이 있으며 느린 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에 문제가 있습니다.

컴퓨터의 이름은 대시로 바뀌어 컴퓨터 이름을 간단하게 바꾸고 수정했습니다.

ssms를 제거하고 SQL 서버를 제거하고 컴퓨터 이름을 'MyBox'와 같은 간단한 이름으로 'xja-13-asdfa3'으로 변경했습니다. 그런 다음 SQL 서버를 다시 설치 한 다음 ssms를 다시 설치하면 테이블을 마우스 오른쪽 버튼으로 클릭 할 때 모든 SLOW 컨텍스트 메뉴 문제가 해결되었습니다. DNS 문제가 발생하고 대기 시간이 dns 시간 초과를 기다리는 것과 관련이 있다고 생각합니다.

나는 기본 무작위 PC 이름을 가진 공장에서 상자에서 16 기가의 램, ssd 드라이브, 3ghz CPU가있는 랩톱을 가지고있었습니다.


1

내 컴퓨터가 빠르다.

SQL Server 2012의 SSMS는 이제 SQL Server 2008의 SSMS에서 사용하는 셸보다 리소스를 많이 사용하는 Visual Studio 2010 셸을 사용합니다. 컴퓨터를 업그레이드하거나 SQL Server 2008 R2의 SSMS를 사용하는 것이 좋습니다. 이전 버전으로 대부분의 작업을 수행 할 수 있어야합니다.

최신 누적 업데이트를 설치하여 클라이언트 도구도 업데이트 할 수도 있습니다. SQL Server 2012의 최신 버전은 현재 CU1입니다.

http://support.microsoft.com/kb/2679368/


1

컴퓨터 이름을 '-'없이 변경하면 문제가 해결됩니다.


0

저에게는 SSM을 매우 느리게 만든 것이 BitDefender 방화벽이었습니다. 분명히 데이터베이스 목록에 액세스하기 위해 일종의 방화벽이 차단되었습니다.


-1

데이터베이스 속성 " 자동으로 닫기 "의 " 자동 "그룹 상태를 확인해야합니다 .

true 인 경우 각 쿼리 후 연결이 닫히고 새 쿼리마다 다시 열립니다. 그것은 확실히 ssms에서 작업 속도를 늦 춥니 다. 기본값은 false입니다.



-2

관리자 권한을 사용하여 SSMS를 시작하면 (오른쪽 클릭하고 관리자 권한으로 실행) 제대로 작동합니다. 그렇지 않으면 새 쿼리 창이 더 오래 걸립니다


-3

이 원인은 거의 항상 누락 된 네트워크 드라이브입니다. 예를 들어 랩톱에 드라이브 매핑이 있지만 랩톱이 꺼져있는 경우입니다.

불행히도 해결 방법은 랩톱을 켜거나 (드라이브가 다시 연결됨) Windows 탐색기에서 드라이브 연결을 끊는 것입니다 (그러나 나중에 다시 연결해야 함).

자세한 내용은 여기를 참조하십시오 : http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/64c13a84-3e62-4b0c-a1ce-65fcc78d6787


1
이 문제는 SSMS 2012에만 해당됩니다. 2010 년 2 월의 msdn 스레드가 관련이있을 것 같습니다.
JNK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.