A todos nos ha incordiado este comportamiento típico de quizás nuestra herramienta preferida, SQL Server Management Studio, y sobre todo nos hemos hecho la misma pregunta ¿Por Qué? ¿Por qué tarda tanto tiempo en arrancar SSMS? ¿Por qué SSMS es tan lento en abrirse?
Como todos sabemos, SQL Server Management Studio es una aplicación de código gestionado, es decir, que está desarrollada con .Net Framework, siendo esta la clave de este problema. Parte del código de SSMS es código firmado digitalmente, lo cual implica, que al ejecutar dicho código, por defecto el .Net Runtime intentará conectarse a crl.microsoft.com para comprobar que el certificado es válido. Como en muchas veces no estamos conectados a Internet, como es el caso de servidores de bases de datos internos (por motivos evidentes de seguridad) o en Máquinas Virtuales aisladas de Laboratorios de pruebas, el intento de conexión a crl.microsoft.com generará un tiempo de espera (al no poder salir a Internet), siendo esta la fuente del problema.
Evidentemente, esta situación no es única de SQL Server Management Studio, sino que por el contrario, se trata de una situación propia de ejecutar código firmado: cualquier aplicación que utilice código firmado es susceptible de tardar mucho tiempo en abrirse.
Una vez que hemos identificado el problema ¿Qué formas tenemos de solucionarlo?
- Configurar Internet Explorer para que no compruebe la revocación de certificados (atención, esto es una ñapa, aunque útil ;-). Esto se hace desde las opciones de Internet Explorer (Herramientas -> Opciones de Internet -> Opciones Avanzadas, o en inglés, Tools -> Internet Options -> Advanced), deshabilitando la opción Check publisher’s certificate revocation (en español, Comprobar si se revocó el certificado del editor).
- Habilitar la salida a Internet, por ejemplo, hacia los destinos utilizados en la comprobación del código firmado (tampoco es necesario abrir completamente los servidores a Internet).
Con esto, el SQL Server Management Studio dejará de tardar tanto tiempo en iniciarse, y las siguientes veces que intentemos abrir SSMS será mucho más rápido. |