Skip to content

Archives

  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021

Categories

  • No hay categorías
Calor Blogfever risk

Recuperar Base de datos de recursos de SQL Server

admin - febrero 10, 2022

Por: Daniel Farina | Actualizado: 2019-10-25 | Comentarios (2) / Relacionado: Más Configuraciones de SQL Server >

Configuración de SQL Server para un Mejor Rendimiento
  • Seminario web gratuito de MSSQLTips: Configuración de SQL Server para el mejor rendimiento
  • Problema
  • Solución
  • La base de datos mssqlsystemresource de SQL Server
  • Recuperar la base de datos mssqlsystemresource de SQL Server
  • Próximos pasos
  • Sobre el autor

Seminario web gratuito de MSSQLTips: Configuración de SQL Server para el mejor rendimiento

Asista a este seminario web para conocer las prácticas recomendadas y los pasos a seguir para asegurarse de que la configuración de SQL Server esté configurada para maximizar el rendimiento.

Problema

Windows Update aplicó automáticamente un parche a mi instancia de SQL Server.Esto podría haber pasado desapercibido, como sucede a menudo con las actualizaciones de Windows. Cuando intenté acceder a mi instancia de SQL Server, descubrí que la base de datos mssqlsystemresource no se había enviado desde donde debería estar y SQL Server no se iniciaba. En este consejo te diré cómo resolví este problema.

Solución

El otro día intenté conectarme a mi entorno de pruebas de SQL Server con Qlserver Management Studio y recibí el mensaje de error» servidor no encontrado».

Como reacción normal, abrí SQL Server Configuration Manager para comprobar el estado del servicio de servidor SQL; y como puede adivinar, el servicio no se estaba ejecutando. En este punto estaba un poco preocupado, porque los servicios para SQL Server están configurados para iniciarse automáticamente.

Precedí con el primer paso de recuperación, que fue intentar iniciar la instancia y ver qué sucede. Al intentar iniciar la instancia de SQL Server, recibí el siguiente mensaje de error que decía que la solicitud había fallado y que tenía que consultar el registro de eventos u otro registro de errores aplicable para obtener más detalles. Puede ver el mensaje en la captura de pantalla a continuación.

 SQL Server no se inicia.

En este punto me di cuenta de que no era una cosa fácil de resolver, así que seguí las instrucciones del mensaje y abrí la aplicación Visor de eventos para ver el registro de eventos en la búsqueda de una respuesta.

Primero, miré el registro de la aplicación y busqué un evento con una fuente igual a MSSQLSERVER que es la instancia de SQL Server que estaba solucionando problemas.Descubrí que había un error relacionado con SQL Server que decía «OpenFailed: No se pudo abrir filemssqlsystemresource.error de sistema operativo mdf: 2» (el sistema no pudo encontrar el archivo especificado) asi se muestra en la captura de pantalla a continuación. Para aquellos de ustedes que no lo saben, el archivo mencionado a continuación es parte de lo que se conoce como la Base de datos de recursos y se requiere para que SQL Server se inicie.

 El registro de eventos muestra el archivo mssqlsystemresource.mdf no se encuentra.

La base de datos mssqlsystemresource de SQL Server

La base de datos mssqlsystemresource es la base de datos física que contiene todas las definiciones de los objetos del sistema incluidos en SQL Server. Esta base de datos es de solo lectura y no es accesible incluso para los miembros del rol de servidor administrador del sistema sin necesidad de acceder a la instancia a través de una conexión de administrador dedicada después de iniciarse en modo de usuario único (con la opción de inicio –m).

Debido al hecho de que la base de datos de recursos contiene todo el código de objetos del sistema(no contiene datos ni metadatos de usuario), la actualización de las versiones se realiza simplemente reemplazando los archivos de la base de datos de recursos en la carpeta de la instancia.

Recuperar la base de datos mssqlsystemresource de SQL Server

Después de descubrir que faltaban los archivos de la base de datos mssqlsystemresource, necesitaba saber por qué sucedió y cómo solucionar el problema. Lo primero que hice instintivamente fue buscar en internet sobre la desaparición de las bases de datos de recursos del sistema mssql y encontré el siguiente artículo de Microsoft:CORRECCIÓN: La base de datos de recursos falta después de instalar actualizaciones o paquetes de servicios para instancias de SQL Server 2012 una tras otra y luego reiniciar el servidor.

Siendo consciente de que el artículo de Microsoft decía que las versiones afectadas son SQL Server 2012 y 2014, mientras tanto mi sistema era SQL Server 2017, pero pensé que iría por este camino para ver.

Para mi sorpresa vi que las siguientes dos actualizaciones estaban programadas para ejecutarse una tras otra:

  • Actualización de seguridad para SQL Server 2017 RTM (KB4505224)
  • Actualización de seguridad para SQL Server 2016 SP1 (KB4505219)
El historial de actualizaciones muestra dos actualizaciones de SQL Server una tras otra.

Ahora que conocía la causa, necesitaba averiguar cómo restaurar la base de datos mssqlsystemresourcedat, ya que es mi computadora doméstica, no tenía una copia de seguridad. Intentó descargar el paquete e instalarlo manualmente, pero tal vez debido a que faltaba la base de datos mssqlsystemresourcedat, no funcionó; algo así como una situación de gallina y huevo.

No era mi intención reinstalar SQL Server, así que opté por un enfoque más ortodoxo. Abrí la carpeta temporal que el parche usa para descomprimir archivos. Puede tomar nota de esa carpeta después de iniciar el programa de configuración haciendo una captura de pantalla como hice a continuación.

 Setup extracción de archivos de instalación.

Después de localizar el directorio temporal, busqué la ruta x64 \ setup\ y después de mirar los archivos, adiviné que sql_engine_core_inst.msp puede tener una copia de la base de datos mssqlsystemresource. Este archivo está comprimido, por lo que para abrirlo necesita una herramienta de descompresión. Usé 7-Zip, que es gratuito y se puede descargar de https://www.7-zip.org/.

En la siguiente captura de pantalla puede ver que hay dos archivos, eng_re_resourcedb_ldf_64 y ENG_RE_ResourceDb_mdf_64. Estos son los archivos de la base de datos de recursos del sistema ssql para la edición de 64 bits de SQL Server en inglés. Si necesita otro idioma, debe cambiar el idioma en la página de descarga del parche. Recuerde que el motor de configuración contiene todos los idiomas, pero los paquetes de implementación están en un idioma específico.

El archivo comprimido sql_engine_core_inst.msp contiene los archivos de la base de datos de recursos.

Extraí los dos archivos y luego los renombré de la siguiente manera y los copié en la carpeta mencionada anteriormente en el mensaje de error donde deberían existir estos archivos.

  • ENG_RE_ResourceDb_ldf_64 renombrado a mssqlsystemresource.ldf
  • ENG_RE_ResourceDb_mdf_64 renombrado a mssqlsystemresource.mdf

Después de cambiar el nombre de estos archivos y copiarlos a la carpeta correcta, pude iniciar los servicios de SQL Server y todo volvió a funcionar.

Próximos pasos
  • En caso de que se enfrente a esta o una situación similar de necesitar restaurar la base de datos de recursos sin tener una copia de seguridad, para poder extraer los archivos de la base de datos de mssqlsystemresourced necesita saber la versión exacta del servidor SQL que está ejecutando. Si no sabe cómo encontrarlo, puede leer este consejo que explica varios métodos para averiguarlo: Cómo saber qué versión de SQL Server está ejecutando.
  • Es una buena práctica realizar copias de seguridad de la base de datos de recursos; si desea saber cómo hacerlo, le sugiero que eche un vistazo a este consejo:Copia de seguridad y restauración de la base de datos de recursos de SQL Server.
  • En este consejo mencioné que necesita «Conexiones de Administrador Dedicadas» para poder acceder a la base de datos de recursos. Puede leer más sobre las conexiones ADMIN Dedicadas en la Categoría Consejos de conexión de Administrador dedicado del Servidor SQL y tomar el siguiente consejo como punto de partida:Conexión de Administrador dedicado en SQL Server.
  • Además, mencioné que si desea acceder a la base de datos de recursos,también debe iniciar SQL Server en modo de usuario único. En este consejo aprenderá cómo usar los parámetros de inicio que le permitirán iniciar su instancia en modo de usuario único: Configuración de parámetros de inicio de SQL Server.
  • Si su problema incluye un escenario de restauración de la base de datos Maestra sin tener una copia de seguridad, puede echar un vistazo a este consejo:Restaurar la base de datos maestra de SQL Server Incluso sin una copia de seguridad.

Última actualización: 2019-10-25

obtener secuencias de comandos

punta siguiente botón

Sobre el autor
MSSQLTips autor Daniel FarinaDaniel Farina nació en Buenos Aires, Argentina. Autodidacta, desde niño mostró una pasión por el aprendizaje.
Ver todos mis consejos
Recursos relacionados

  • Más consejos de DBA de SQL Server…

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas recientes

  • Acerca de Nosotros-Gandolfo Helin & Fountain Literary Management
  • 5 Cosas que debes Saber Sobre Shalane Flanagan
  • Rolling Stone
  • Toxicidad cutánea
  • Sergei Tcherepnin-Artadia
  • Cómo Lidiar con el Estrés y la Presión Social
  • ¿Qué Raza De Caballo Es La Más Inteligente?
  • El ácido silícico (Si(OH)4) tiene una influencia significativa en la señal de absorción atómica de aluminio medida por espectrometría de absorción atómica de horno de grafito (GFAAS)
  • Explicando Nuestra Inteligencia Parte 8-Auto Inteligente
  • Sadie T. M. Alexander (1898-1989)

Archivos

  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Copyright Calor Blog 2022 | Theme by ThemeinProgress | Proudly powered by WordPress