SQL Server Management Studio abre lentamente nuevas ventanas


30

Después de actualizar SQL Server y Management Studio de 2008 a 2012, Management Studio 2012 es muy lento cuando se abren nuevas ventanas de consulta y cuadros de diálogo.

Incluso hacer clic derecho en las tablas es lento. Normalmente hay un retraso de al menos 5 segundos antes de que pueda comenzar a hacer cualquier cosa dentro de una ventana. Esto sucede cada vez, incluso si abro la misma ventana dos veces seguidas. ¿Por qué sucede esto y cómo puedo solucionarlo?

Otras aplicaciones establecen conexiones a la base de datos muy rápido.

Cosas que he probado que no ayudaron:

  • Un golpe en Google donde tendría que modificar mi hostsarchivo
  • Restablecer SSMS "configuraciones definidas por el usuario"
  • Actualización de controladores de video, desactivación de aceleración de hardware, desactivación de DirectX
  • Deshabilitar el servicio de autenticación biométrica (no lo tengo instalado).

Mi computadora debería ser más que lo suficientemente rápida, y también tengo 16GB de RAM. Mi hardware definitivamente no debería ser un problema. Parece que SSMS está esperando algo: puedo operar otros programas sin problemas mientras esto sucede.

No tengo la oportunidad de instalar la actualización CU1 de SQL Server 2012 porque parece haber algún riesgo de errores al instalar las revisiones y no puedo arriesgarme ahora.


No veo este comportamiento. Si lo hiciera para investigar más a fondo, podría intentar (1) Usar Process Monitor para ver qué está haciendo el proceso y si eso da alguna pista. (2) Uso de SQL Server Profiler para ver si alguna de las consultas enviadas desde SSMS tiene una alta duración (por ejemplo, bloqueo) (3) Adjuntar un depurador al proceso SSMS y entrar en él durante los bloqueos para ver si los nombres de las funciones en la pila de llamadas reveló cualquier cosa.
Martin Smith

Respuestas:


11

Inicio de SQL Server Management Studio

Cuando se inicia SQL Server Management Studio (SSMS) de Microsoft, intenta conectar la Lista de revocación de certificados (CRL) de Microsoft:

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

Los componentes .NET subyacentes de SSMS están intentando contactar con la Lista de revocación de certificados y SSMS no puede hacerlo. Esto ralentiza el procedimiento de carga general. (15 segundos por certificado aparentemente)

Ok, entonces esto es lo que está sucediendo. SSMS tiene un alto porcentaje de código administrado, todo este código se firma cuando lo enviamos. Al inicio (si esta configuración está marcada) .Net Runtime intenta ponerse en contacto con crl.microsoft.com para asegurarse de que el certificado sea válido (hubo algunos certificados falsos emitidos a nombre de Microsoft hace un tiempo, por lo que esta es una preocupación muy válida) . Si no hay conexión a Internet o si hay un problema al contactar al servidor de la lista de revocación de certificados, esto retrasará el inicio de SSMS.

Referencia: Preguntas frecuentes, ¿por qué SSMS tarda 45 segundos en iniciarse? (Blog de MSDN)

Un problema que puede causar este problema es que si el servidor no tiene acceso a Internet, .NET Framework no puede acceder al sitio web crl.microsoft.com para verificar que las firmas digitales se utilizan para firmar los archivos binarios para aplicaciones administradas son validos. Cada verificación de certificado tiene un tiempo de espera de 15 segundos en la implementación del tiempo de ejecución de .NET. Dependiendo de qué características estén instaladas, esto puede agregar hasta un minuto de tiempo de inicio para Management Studio.

Referencia: Tiempo de inicio de SQL Server Management Studio (Blog de MSDN)

Soluciones

Puede eludir parte del problema, descargando el certificado directamente ingresando el enlace en su navegador y luego importando el certificado a su base de datos de certificados

  • O -

Puede reconfigurar el firewall de su (empresa) para permitir conexiones a la CRL de Microsoft

  • O -

Puede reconfigurar su antivirus / firewall personal para permitir conexiones a la CRL de Microsoft

  • O -

Puede configurar el firewall de su (empresa) para enviar un tiempo de espera más rápido a su cliente para solicitudes que acceden a la CRL de Microsoft.

  • O -

Puede configurar IE para que ya no "Verifique la revocación del certificado del editor" en la configuración avanzada.

(Ver los blogs 1 y 2 mencionados anteriormente para más detalles)


7

Tengo la misma experiencia que usted cuando me conecto al nombre del servidor "./". Por suerte, descubrí que no tengo problemas de rendimiento cuando me conecto al Nombre del servidor "(local)". Probablemente haya un problema con la forma en que SSMS 2012 resuelve el servidor a través de "./".

Editar: no creo que esté relacionado con SSMS ya que puedo reproducir la lentitud con ./ en una conexión ADO.NET.


6

Puede haber sucedido que SSMS haya importado configuraciones que ya no se pueden tratar correctamente (como conexiones a algún servidor o tal vez algunas configuraciones de complementos).

Hay una forma brutal de "restablecer" la configuración de SSMS definida por el usuario.

Cierre SSMS, vaya a la carpeta:

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

Encontrará la subcarpeta "11.0". Cámbiele el nombre a "11.0_", para que siempre pueda cambiarle el nombre. Ahora inicie SSMS: volverá a crear configuraciones limpias y tal vez su problema se resolverá. De lo contrario, elimine "11.0" recién generado y cambie el nombre de "11.0_" a "11.0".

Esto también podría ser un comportamiento de algún complemento que se corrompió después de la actualización. Los complementos se registran como controladores para algunos comandos o eventos y el sistema puede volverse inestable si faltan / lanzan excepciones.

En realidad, v2012 usa otro mecanismo para registrar complementos, pero algunos complementos se instalan en todas las instancias. Para verificar, busque en esta clave de registro:

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

Encontrará la lista de carpetas allí. Verifique todas estas carpetas: deben estar vacías (significa que no tiene complementos).


4

Intente deshabilitar el antivirus y luego verifique el rendimiento del estudio de administración sql server 2012


44
¿Cuál es la razón de esta sugerencia?
Martin Smith

3

No he experimentado personalmente este problema, sin embargo, hay un largo hilo ( aquí ) donde muchas personas lo han hecho. El consejo general parece estar relacionado con trabajar con su controlador de video por

  1. Instalar un controlador de video actualizado -O BIEN-
  2. Reducir o desactivar la excelencia del hardware -O BIEN-
  3. Desactivar la compatibilidad con DirectX

Del hilo también hubo esta respuesta ... "El procedimiento de arranque limpio de Windows 7 reveló que el servicio Servicio de autenticación biométrica (DigitalPersona DPHostw.exe) era el problema. La desactivación del servicio solucionó el problema".

Me interesaría saber si alguno de estos enfoques también funciona en su caso, ya que el hilo que encontré se relaciona con versiones anteriores de SSMS, es decir, 2005, 2008, etc.


3

Supongo que el problema es que abrir una nueva conexión a su servidor lleva 5 segundos. Por qué exactamente este es el caso, no puedo decirlo y requeriría un rastro de alambre para analizar y diagnosticar. Debe investigar qué protocolos se están intentando y qué protocolo finalmente tiene éxito. Puede ser que su cliente intente canalizaciones con nombre primero (que depende de SMB) y luego recurra a TCP (aunque el retraso habitual en tal caso es mucho más largo, alrededor de 20-30 segundos).

Le recomendaría que verifique el orden de los protocolos del cliente en la Configuración de red del cliente . Verifique el protocolo utilizado por el cliente buscando su propia entrada sys.dm_exec_connections.


3

Tengo el mismo problema y resulta que el análisis de Trend Micro Office está causando el problema.

Intenté todo lo descrito en varios otros hilos similares sobre este problema sin resultado. Pensé que intentaría desactivar el software AV. Una vez que el escaneo de Trend Micro Office está desactivado, SSMS se está aligerando rápidamente.

Esto no sucedió en Windows 7.


3

Yo también estaba experimentando un retraso de 5 a 10 segundos al hacer clic derecho en una tabla para abrir el menú contextual. Sin embargo, mi situación puede ser un poco diferente a la de algunos porque solo uso bases de datos locales. Mi solución:

Después de leer la respuesta de imran sobre la desactivación del antivirus, llevé ese concepto un paso más allá ya que no quiero desactivar mi antivirus por completo SOLO para superar este problema.

He reducido significativamente el retraso (ahora es de 1 segundo como máximo) al cambiar las ubicaciones predeterminadas de la base de datos y luego excluir ese directorio del antivirus (en mi caso, estoy usando Microsoft System Center Endpoint Protection 2015).

Para cambiar las ubicaciones predeterminadas de la base de datos, consulte el siguiente artículo para obtener información detallada. http://thomaslarock.com/2015/02/changing-default-database-file-locations-in-sql-server/


3

Tuve el mismo problema con SSMS 2016. Utilicé procmon para identificar que lo último que hizo antes de un retraso de varios segundos fue hacer una conexión de red a una dirección IP de Microsoft. Luego intenté desactivar el Programa de experiencia del cliente estableciendo el HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SQL Server\130valor de la clave de registro CustomerFeedbackde 1 a 0. Después de reiniciar SSMS, vuelve a funcionar rápidamente. Presumiblemente, eso no siempre conduce a ventanas de consulta nuevas y lentas, pero para mí sí.

No sé si eso era lo que estaba sucediendo con su SSMS 2012, pero quizás valga la pena intentarlo. La clave de registro probablemente será en 110lugar de 130.


2

Sobre SSMS 2016 y el cambio de registro. Mi camino era

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

Lo cambié de 1 a 0 y SSMS fue rápido nuevamente.


2

A veces, este problema se puede resolver simplemente cerrando una gran cantidad de ventanas de consulta en caché.

Mi instancia de SSMS tenía aproximadamente 15 consultas en el caché guardado (que se abría cada vez que abría SSMS): cerré todas estas ventanas y reinicié SSMS y el problema desapareció de inmediato.


2

Tengo ssms v17.0, también tuve el problema con los menús contextuales de clic derecho lento.

El nombre de la computadora tenía guiones, cambiando el nombre de la computadora por algo simple, lo arregló.

Desinstalé ssms, desinstalé el servidor sql, cambié el nombre de la computadora a algo simple como 'MyBox' en lugar de 'xja-13-asdfa3'. Luego reinstalé el servidor sql, luego ssms, y esto solucionó TODOS mis problemas del menú contextual LENTO al hacer clic derecho en las tablas. Me imagino que en algún lugar estaban ocurriendo problemas de DNS y las esperas estaban relacionadas con la espera de los tiempos de espera de dns.

Tenía una computadora portátil con 16 gig de ram, unidades ssd, una CPU de 3ghz directamente de fábrica con el nombre predeterminado de la PC al azar.


1

Es rápido en mi computadora.

SSMS en SQL Server 2012 ahora usa el shell Visual Studio 2010, que requiere más recursos que el shell usado por SSMS en SQL Server 2008. Sugiero actualizar su computadora o usar SSMS desde SQL Server 2008 R2. Debería poder realizar la mayoría de las tareas con la versión anterior.

También puede intentar instalar la última actualización acumulativa, ya que también actualizarán las herramientas del cliente. La última versión para SQL Server 2012 es actualmente CU1.

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


1

cambiar el nombre de la computadora para que no tenga '-' es lo que me solucionó.


1

¡Es importante que no use el nombre corto NetBIOS!

Si lo hace, el estudio de administración utiliza algún tipo de conexión heredada. Todo será molestamente lento. Simplemente use la IP o el nombre completo de la máquina en la que se ejecuta el servidor sql.

Si desea averiguar cuál es el nombre NetBIOS de su máquina, ejecute una consulta:

select @@Servername

Esto devuelve el nombre heredado corto de 15 caracteres de la máquina. No uses esa.


0

Para mí, fue el firewall de BitDefender lo que hizo que mi SSM fuera extremadamente lento Aparentemente, una especie de bloqueo de firewall para obtener acceso a la lista de bases de datos


-1

Se debe verificar el estado de la propiedad de la base de datos " Cerrar automáticamente " en el grupo " Automáticamente ".

Si es verdadero, después de cada consulta, la conexión se cerrará y se volverá a abrir en cada nueva consulta. Eso seguramente ralentizará su trabajo en ssms. El valor predeterminado es falso.



-2

Cuando inicio SSMS con privilegios de administrador (clic derecho y ejecutar como administrador), funciona bien, de lo contrario, la nueva ventana de consulta tarda más


-3

La causa de esto es casi siempre una unidad de red faltante, por ejemplo, si tiene una asignación de unidad a su computadora portátil, pero su computadora portátil está apagada.

Lamentablemente, la resolución es encender su computadora portátil (para que las unidades se vuelvan a conectar) o desconectar sus unidades en el Explorador de Windows (pero luego debe volver a conectarlas).

Consulte aquí para obtener más información: http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/64c13a84-3e62-4b0c-a1ce-65fcc78d6787


1
Este problema es específico de SSMS 2012: dudo que un hilo de msdn de febrero de 2010 sea relevante.
JNK
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.