La Base de Datos de Recursos del Sistema (mssqlsystemresource) se considera parte del software. De hecho, la podremos encontrar en el directorio BINN. Por ello, para reconstruir la Base de Datos de Recursos del Sistema (mssqlsystemresource), deberemos ejecutar el programa de instalación de SQL Server 2008 R2 utilizando la opción Reparar (Repair). No recuerdo ningún caso en el que tuviese la Base de Datos de Recursos del Sistema (mssqlsystemresource) corrupta. La situación más parecida con la que me he encontrado fue una instalación fallida de un Service Pack sobre un Cluster de SQL Server 2000 en un entorno de Producción (hace añitos ya). En un situación similar con SQL Server 2008 R2, la solución tentativa sería Reparar la instancia de SQL Server, como a continuación se describe.
Téngase en cuenta que la reparación de SQL Server 2008 R2 realiza lo siguiente:
- Todos los ficheros corruptos o desaparecidos serán reemplazados.
- Todas las configuraciones del Registro corruptas o desaparecidas serán reemplazadas.
- Todos los valores de configuración corruptos o desaparecidos serán reemplazados.
La reparación de una instancia de SQL Server 2008 R2 no reconstruirá las Bases de Datos del Sistema, por lo tanto, si es eso lo que necesitamos, deberemos seguir el procedimiento correspondiente para Reconstruir las Bases de Datos del Sistema (master, model, msdb) en SQL Server 2008 R2.
Es posible ejecutar la reparación de SQL Server 2008 R2 de dos formas distintas:
- Desde línea de comandos, ejecutando algo como: setup.exe /q /ACTION=Repair /INSTANCENAME=MSSQLSERVER
- Utilizando la interfaz gráfica del programa de instalación.
Para reparar una instalación de SQL Server 2008 R2 utilizando la interfaz gráfica (SETUP.EXE), deberemos seguir los siguientes pasos. En nuestro caso de ejemplo, partimos de una instancia de SQL Server 2008 R2 Developer con el Service Pack 1 instalado (compilación 10.50.2500). Se trata de una instancia StandAlone, es decir, no se trata de una instalación en Cluster de SQL Server 2008 R2.
Ejecutar el programa de instalación de SQL Server 2008 R2 (SETUP.EXE) desde el DVD de instalación. En la pantalla de Splash de SQL Server, seleccionaremos la página Maintenance, y después click en Repair.
En la pantalla Setup Support Rules, click OK para continuar.
En la pantalla Setup Support Files, click Install.
En la pantalla Setup Support Rules, click Next para continuar.
En la pantalla Select Instance page, seleccionar la instancia de SQL Server que se desea reparar. Click Next para continuar.
En la pantalla Repair Rules, click Next para continuar.
En la pantalla Ready to Repair, click Repair para iniciar la reparación de SQL Server.
Se mostrará una barra de progreso, y tras escaso minutos, la reparación de SQL Server 2008 R2 habrá finalizado con éxito. Click Close.
Es momento de comprobar nuestra instancia. A simple vista, podemos ver que el nivel de Service Pack (es decir, la versión de compilación) y la intercalación no ha cambiado. Además, antes de iniciar la reparación de SQL Server 2008 R2, probé a crear varios objetos de usuario en las Bases de Datos del Sistema (master, model, msdb) y dichos objetos aún persisten, por lo que podemos tener certeza de que la Base de Datos del Sistema (master, model, msdb) no han sido reemplazadas durante la Reparación de SQL Server 2008 R2.
Realizado todo esto, habremos reparado con éxito nuestra instancia de SQL Server 2008 R2. Téngase en cuenta que en el caso de un Cluster podríamos necesitar realizar la reparación sobre todos los Nodos del Cluster.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.