Red de conocimiento informático - Material del sitio web - Cómo reparar el servidor de base de datos en caso de error de tempdb

Cómo reparar el servidor de base de datos en caso de error de tempdb

Si el disco donde se encuentra tempdb no se puede reubicar por algún motivo, el servidor no podrá iniciarse. Entonces, ¿cómo resolver este problema? 1. Inicie el servidor en modo especial net start MSSQLSERVER /f /T3608 2. Modifique la ubicación de la base de datos tempdb y cree un nuevo archivo sql (como temp.sql), que contenga el siguiente contenido. USE master; BASE DE DATOS GOALTER tempdbMODIFY ARCHIVO (NOMBRE = tempdev, NOMBRE DE ARCHIVO = 'D:\templog.mdf'); BASE DE DATOS GOALTER tempdbMODIFY ARCHIVO (NOMBRE = templog, NOMBRE DE ARCHIVO = 'D:\templog.ldf'); –itemp.sql 3. Simplemente reinicie el servidor. El punto clave aquí es el indicador de seguimiento (T3608) utilizado al iniciar el servidor, lo que significa omitir la verificación de recuperación de todas las bases de datos. Para conocer algunos indicadores de seguimiento compatibles con SQL Server, consulte. a la ayuda en línea descripción del indicador de seguimiento 260 Imprimir información sobre versiones sobre bibliotecas de vínculos dinámicos (DLL) de procedimientos almacenados extendidos. Para obtener más información sobre __GetXpVersion(), consulte Creación de un procedimiento almacenado extendido. Alcance: Global o Sesión 1204 Devuelve el recurso y el tipo de bloqueo involucrado en el interbloqueo y el comando actual afectado. Alcance: solo global 1211 Deshabilitar la escalada de bloqueos en función de la memoria insuficiente o del número de bloqueos. El motor de base de datos de SQL Server no escala los bloqueos de filas o páginas a bloqueos de tablas. El uso de este indicador de seguimiento puede generar una cantidad excesiva de bloqueos. Esto puede reducir el rendimiento del motor de base de datos o provocar un error 1204 (no se puede asignar el recurso de bloqueo) debido a memoria insuficiente. Para obtener más información, consulte Promoción de bloqueo (motor de base de datos). Si se establecen ambos indicadores de seguimiento, 1211 y 1224, 1211 tiene prioridad sobre 1224. Pero dado que el indicador de seguimiento 1211 deshabilita las actualizaciones en todos los casos (incluso bajo limitaciones de memoria), se recomienda 1224. Esto ayuda a evitar errores de "fuera de bloqueos" cuando se utilizan muchos bloqueos. Alcance: Global o Sesión 1222 Devuelve el recurso y el tipo de bloqueo involucrado en el interbloqueo, y el comando actual afectado, en formato XML que no se ajusta a ningún esquema XSD. Alcance: Solo global 1224 Deshabilita la escalada de bloqueos según la cantidad de bloqueos. Sin embargo, una memoria insuficiente aún puede activar la actualización del bloqueo. El motor de base de datos actualiza los bloqueos de fila o página a bloqueos de tabla (o partición) si la cantidad de memoria utilizada por el objeto de bloqueo excede una de las siguientes condiciones: 40 % de la memoria utilizada por el motor de base de datos, asignación de memoria mediante extensiones de ventanas de direcciones ( AWE) excepto. Esto solo se aplica si el parámetro locks de sp_configure está establecido en 0. 40 de la memoria de bloqueo configurada utilizando el parámetro de bloqueos de sp_configure. Para obtener más información, consulte Configuración de las opciones de configuración del servidor. Si se establecen ambos indicadores de seguimiento, 1211 y 1224, 1211 tiene prioridad sobre 1224. Pero dado que el indicador de seguimiento 1211 deshabilita las actualizaciones en todos los casos (incluso bajo limitaciones de memoria), se recomienda 1224. Esto ayuda a evitar errores de "fuera de bloqueos" cuando se utilizan muchos bloqueos. Nota: También puede utilizar la opción LOCK_ESCALATION de la instrucción ALTER TABLE para controlar la escalada de bloqueo a nivel de tabla o granularidad a nivel HoBT. Alcance: Global o Sesión 2528 Deshabilita la verificación paralela de objetos realizada por DBCC CHECKDB, DBCC CHECKFILEGROUP y DBCC CHECKTABLE.

De forma predeterminada, el procesador de consultas determina automáticamente el grado de paralelismo. El paralelismo máximo se configura igual que el paralelismo máximo para consultas paralelas. Consulte la opción Grado máximo de paralelismo para obtener más información. Por lo general, el DBCC paralelo debe dejarse habilitado. Para DBCC CHECKDB, el procesador de consultas reevalúa y ajusta automáticamente el grado de paralelismo para cada tabla o lote de tablas verificadas. A veces puede iniciarse una comprobación cuando el servidor está casi inactivo. Si el administrador sabe que la carga aumentará antes de que se complete la verificación, es posible que deba reducir manualmente el paralelismo o deshabilitarlo. Deshabilitar las comprobaciones paralelas para DBCC puede hacer que DBCC tarde más en completarse y, si DBCC se ejecuta con la función TABLOCK habilitada y el paralelismo desactivado, la tabla puede quedar bloqueada por un período de tiempo más largo. Alcance: Global o Sesión 3205 De forma predeterminada, si la unidad de cinta admite la compresión de hardware, la instrucción DUMP o BACKUP utiliza esa característica. Este indicador de seguimiento le permite desactivar la compresión de hardware para la unidad de cinta. Esta opción es útil si necesita intercambiar cintas con otro sitio o unidad de cinta que no admita la compresión. Alcance: global o sesión 3608 Inhabilita que SQL Server inicie y restaure automáticamente cualquier base de datos excepto la base de datos maestra. La base de datos se iniciará y restaurará cuando se acceda a ella. Es posible que algunas funciones, como el aislamiento de instantáneas y las instantáneas de confirmación de lectura, no se ejecuten. Se utiliza para bases de datos de sistemas móviles y bases de datos de usuarios móviles. No lo utilice durante el funcionamiento normal. 3226 De forma predeterminada, cada operación de copia de seguridad exitosa agrega una entrada al registro de errores de SQL Server y al registro de eventos del sistema. Si crea copias de seguridad de registros con mucha frecuencia, estos mensajes de éxito pueden acumularse rápidamente, creando un enorme registro de errores que dificulta mucho la búsqueda de mensajes adicionales. Estas entradas de registro se pueden suprimir utilizando este indicador de seguimiento. Esto es útil si ejecuta copias de seguridad de registros con frecuencia y no tiene ningún script que dependa de estas entradas. 3625 Limitar la cantidad de información devuelta en mensajes de error. Para obtener más información, consulte Configuración de visibilidad de metadatos. Alcance: solo global 4616 Hace que los metadatos a nivel de servidor sean visibles para los roles de la aplicación. En SQL Server, los roles de aplicación no pueden acceder a metadatos fuera de su propia base de datos porque los roles de aplicación no están asociados con entidades principales de nivel de servidor. Este es un cambio con respecto al comportamiento de versiones anteriores de SQL Server. Establecer este indicador global deshabilita las nuevas restricciones y permite que los roles de la aplicación accedan a metadatos a nivel de servidor. Alcance: solo global 6527 Suprime la generación de un volcado de memoria en la primera excepción de falta de memoria en la integración de CLR. De forma predeterminada, SQL Server genera un pequeño volcado de memoria la primera vez que se produce una excepción de falta de memoria en el CLR. El comportamiento de este indicador de seguimiento es el siguiente: si se utiliza como indicador de seguimiento de inicio, nunca se genera un volcado de memoria. Sin embargo, si se utilizan otros indicadores de seguimiento, es posible que se genere un volcado de memoria. Si este indicador de seguimiento está habilitado en un servidor en ejecución, los volcados de memoria no se generarán automáticamente a partir de este momento. Sin embargo, este indicador de seguimiento no tendrá ningún efecto si se generó un volcado de memoria debido a una excepción de falta de memoria en el CLR. Alcance: solo global 7806 Habilita conexiones de administrador dedicadas (DAC) en SQL Server Express. De forma predeterminada, los recursos DAC no están reservados en SQL Server Express. Para obtener más información, consulte Uso de una conexión de administrador dedicada. Ámbito: solo global En SQL Server, existen dos tipos de indicadores de seguimiento: indicadores de seguimiento de sesión e indicadores de seguimiento globales. Los indicadores de seguimiento de sesión son válidos para una conexión y solo son visibles para esa conexión. Los indicadores de seguimiento globales se establecen en el nivel del servidor y son visibles para todas las conexiones del servidor. Algunas marcas solo se pueden habilitar como marcas globales, mientras que otras se pueden habilitar en el ámbito global o de sesión. Se deben seguir las siguientes reglas: Los indicadores de seguimiento globales deben estar habilitados globalmente.

De lo contrario, la marca de seguimiento no tiene ningún efecto. Se recomienda habilitar el indicador de seguimiento global al inicio mediante la opción de línea de comando -T. Si un indicador de seguimiento tiene un alcance global o de sesión, se puede habilitar con el alcance apropiado. Un indicador de seguimiento habilitado en el nivel de sesión nunca afecta a otra sesión y deja de ser válido cuando el SPID que abrió la sesión cierra la sesión. Utilice uno de los siguientes métodos para activar o desactivar indicadores de seguimiento: Utilice los comandos DBCC TRACEON y DBCC TRACEOFF. Tomando DBCC TRACEON 2528 como ejemplo, para habilitar el indicador de seguimiento en el ámbito global, use el parámetro -1 cuando use DBCC TRACEON: DBCC TRACEON (2528, -1). Para desactivar el indicador de seguimiento global, utilice el parámetro -1 cuando utilice DBCC TRACEOFF. Utilice la opción de inicio -T para especificar que el indicador de seguimiento se active durante el inicio. La opción de inicio -T habilita indicadores de seguimiento globalmente. Los indicadores de seguimiento a nivel de sesión no se pueden iniciar mediante las opciones de inicio. Para obtener más información sobre las opciones de inicio, consulte Uso de las opciones de inicio del servicio SQL Server. Utilice el comando DBCC TRACESTATUS para determinar qué indicadores de seguimiento están activos actualmente. Cambio de comportamiento En SQL Server 2000, un simple DBCC TRACEON (1204) era suficiente para registrar informes de interbloqueo en el registro de errores.