PRB: 'Temp_db' dispositivo causa problemas iniciando SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 158586 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Si SQL Server se inicia de manera que se coloca en tempdb en RAM (ya sea estableciendo explícitamente la opción 'tempdb en RAM' o iniciando en modo de configuración mínima utilizando el parámetro -f en la línea de comandos), SQL Server no se puede iniciar correctamente si un dispositivo con un nombre de dispositivo de 'temp_db' ya existe.

Causa

Cuando se coloca tempdb en RAM, SQL Server primero intenta crear un dispositivo de RAM con un nombre lógico de 'temp_db' y después de crear la base de datos tempdb en este dispositivo. Si ya existe un dispositivo con el nombre 'temp_db', el intento de insertar una entrada en la tabla sysdevices fallará; por tanto, no puede crearse tempdb.

El registro de errores de SQL Server contendrá la secuencia de mensajes de error siguiente:
Intentar insertar una fila de clave duplicada en el objeto 'sysdevices' con índice único 'sysdevices' (mensaje 2601)

crdb_tempdb: no se puede mover tempdb en RAM; dispositivo RAM no existe, no se puede crear o no tiene suficiente espacio para tempdb.

El servidor continuará el proceso de inicio y, le informe probablemente también otros mensajes de error.



Si intenta utilizar tempdb durante el inicio (por ejemplo, en un procedimiento almacenado de inicio), puede aparecer los siguientes mensajes de error y el servidor se podrán iniciar:
Msg 906: No se pudo encontrar fila en sysobjects para el catálogo de sistema 'sysobjects' en la base de datos 'tempdb'....

Msg 615: No se puede encontrar id de tabla de base de datos = 2, nombre = 'tempdb'....

Si intenta tener acceso a tempdb una vez iniciado el servidor, se registrarán los mensajes anteriores, pero no se detendrá el servidor.

Solución

Para iniciar el servidor, vaya a un símbolo del sistema y desplácese al directorio BINN donde se instaló SQL Server (por ejemplo, SQL60\BINN para SQL Server 6.0 o MSSQL\BINN para SQL Server 6.5). A continuación, utilice la siguiente línea de comandos, que distingue mayúsculas de minúsculas, para iniciar SQL Server:
sqlservr - c -m - T3609 - T4022



Tenga en cuenta que el uso de -m inicia SQL Server en modo de usuario único. Tras el primer inicio de sesión correctamente, las solicitudes siguientes recibirá un mensaje "Error de inicio de sesión" hasta que la primera conexión ha cerrado la sesión. Asegúrese de que detener los procesos automatizados que pueden estar intentando iniciar sesión en SQL Server (por ejemplo, SQL Executive, Monitor, etc.).

Una vez iniciado SQL Server, utilice ISQL/w para conectarse a SQL Server. Observe que no será capaz de utilizar el Administrador corporativo de SQL; no está disponible con estos parámetros de inicio (porque utiliza tempdb). Una vez conectado, utilice el comando siguiente para quitar el dispositivo existente denominado 'temp_db' para que SQL Server pueda crear ese dispositivo durante el inicio.
sp_dropdevice 'temp_db'

Si otras bases de datos además de tempdb se han expandido en el dispositivo, el comando informará de los nombres de estas bases de datos. Estas bases de datos deberá quitarse, mediante el comando DROP DATABASE, para que el dispositivo temp_db puede eliminarse.



Si SQL Server aún no se puede iniciar correctamente después de seguir los pasos anteriores y ha establecido explícitamente tempdb en RAM, utilice el comando siguiente para intentar coloque tempdb en el disco.
sp_configure 'tempdb en RAM,' 0
reconfigure with override

Esto debería colocar tempdb volver en el dispositivo predeterminado con el tamaño de base de datos predeterminado (normalmente 2 MB en el patrón). Detenga y reinicie SQL Server. En este momento, desea quitar el dispositivo con el nombre temp_db y crear un dispositivo con un nombre diferente y, a continuación, expanda tempdb en este nuevo dispositivo.

Propiedades

Id. de artículo: 158586 - Última revisión: miércoles, 05 de febrero de 2014 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt KB158586 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 158586

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com