Error en la base Model del SQL Server: The log scan number passed to log scan in database ‘model’ is not valid.

No se si lo puede resolver bien, pero quedo resuelto. (Si alguien tiene otra opción que me avise, o lo postee como comentario del articulo)

Introducción

Luego de un corte de luz en una maquina (últimamente por esta zona la empresa de energía no se lleva bien con los usuarios)  (si…! que no tiene UPS) queriendo levantar la DB nos encontramos con este error

Mensaje de Error:
The log scan number (22:160:1) passed to log scan in database ‘model’ is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.

En el registro de Eventos:
image

 

En el LOG del SQL Server

Ubicación: C:Archivos de programaMicrosoft SQL ServerMSSQL.1MSSQLLOG

image

The log scan number (22:160:1) passed to log scan in database ‘model’ is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup
2009-02-19 13:25:36.34 spid9s      SQL Trace was stopped due to server shutdown. Trace ID = ‘1’. This is an informational message only; no user action is required.

 

Cuando quise iniciar el servicio del SQL Server nos arrojaba estos errores…

Entonces?

Primera aproximación a la solución:

Iniciar el SQL Server cueste lo que cueste 🙂

Es decir con unos parámetros para que inicie con lo mínimo e indispensable (mas ayuda en Usar las opciones de inicio del servicio SQL Server)

Los dos que necesitaba eran

sqlservr.exe -sMSSQLSERVER -c –f

-c
Acorta el tiempo de inicio al iniciar SQL Server desde el símbolo del sistema. Normalmente, SQL Server Database Engine (Motor de base de datos de SQL Server) se inicia como un servicio llamando al Administrador de control de servicios. Dado que SQL Server Database Engine (Motor de base de datos de SQL Server) no se inicia como un servicio cuando se inicia desde el símbolo del sistema, use -c para omitir este paso.
-f

Inicia una instancia de SQL Server con la configuración mínima. Esta opción es útil si el valor de una opción de configuración (por ejemplo, la confirmación excesiva de memoria) ha impedido el inicio del servidor.

Por si no conocemos (como yo) cual era el ejecutable del SQL Server… podemos darnos una idea de donde inicia el servicio de windows:

C:Archivos de programaMicrosoft SQL ServerMSSQL.1MSSQLBinnsqlservr.exe” -sMSSQLSERVER

image

 

TAMPOCO FUNCIONO 🙂

Me arrojo en la línea de comandos el mismo error.

Solución rápida, efectiva y duradera… (aquí el que conoce otra me avisa)

  • Obtener un base de datos model del SQL 2005
    image
  • Copiarla al directorio del servidor que me esta dando dolores de cabeza
  • Iniciar el SQL Server
  • Tomar un Coca-Cola, Red-Bull o Cerveza Helada (este paso lo pueden obviar)

 

Enlaces

3 comentarios en “Error en la base Model del SQL Server: The log scan number passed to log scan in database ‘model’ is not valid.”

  1. A mi me pasó una vez que en un servidor se me “pinchó” la master del sql server… e hice lo que se propone como solución definitiva. Agrego que en %PROGRAMFILES%Microsoft SQL ServerMSSQL.1MSSQLTemplate Data está la base master “base” que usa el SQL Server 2005.
    De todas maneras, con esto se pierden todos los settings existentes… por lo tanto, luego de este “truco” viene bien levantar un buen backup de la master.
    Saludos

    Agustín

  2. @Agustin
    Cuando es la Master “reconstruyo” la Master.
    Pero no encontre el mismo procedimiento para la model (ya que no es mas que “model”, je que juego de palabras)
    Tienes razon con respecto a los settings.

    Gracias por compartir tu incidente 🙂

  3. Que pavo, tenes toda la razón… interpreté cualquiera. De todas maneras, en el mismo lugar hay una model que (me calculo) debe ser también la que usa el SQL Server cuando se instala. Para ser más amplio, en ese directorio están todas las bases “base” del SQL Server. Parece que es política en Microsoft hacer las cosas así (por ejemplo, en Windows hay un directorio Repair dentro de %WINDIR% que tiene los archivos base del registro).

Deja un comentario

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