Windows Server: Recuperación de bases de datos MSDB de Microsoft SQL Server
摘要: Información sobre cómo recuperar una base de datos MSDB de Microsoft SQL Server.
本文章適用於
本文章不適用於
本文無關於任何特定產品。
本文未識別所有產品版本。
症狀
Cuando se daña y corrompe, es posible que una base de datos MSDB de Microsoft SQL Server no esté en línea y operativa. El servicio del Agente SQL Server no se inicia y los trabajos programados no se ejecutan de forma automática o manual.
原因
El daño al archivo de la base de datos de SQL Server puede ocurrir por muchas razones diferentes. La mayoría de los eventos de bases de datos MSDB dañadas de Microsoft SQL Server ocurren debido a problemas de hardware relacionados con problemas de memoria, disco o procesador.
解析度
Existen tres métodos para recuperar bases de datos MSDB de Microsoft SQL:
Los archivos msdbdata.mdf y msdblog.ldf son los archivos de plantilla de base de datos MSDB para los que debemos abrir una nueva base de datos MSDB estable.
- Restauración a partir de un respaldo
- Utilice DBCC CheckDB para reparar la base de datos MSDB
- Reemplazar los archivos de base de datos MSDB
Restauración de base de datos MSDB desde respaldo:
El proceso de restauración mediante SQL Server Management Studio requiere un respaldo actual y se puede realizar yendo a las propiedades de la base de datos "msdb", Tareas >Restaurar >base de datos y señalando la ubicación de los medios de respaldo.
Utilice DBCC CheckDB para la reparación de la base de datos:
Si no hay ningún respaldo disponible, podemos ejecutar DBCC CheckDB para guardar la base de datos MSDB actual y su contenido. Los siguientes comandos T-SQL comprueban la integridad de la base de datos MSDB. Ejecute una reparación parcial de la base de datos MSDB y, por último, una reparación física de la base de datos MSDB:
Reemplace los archivos de base de datos MSDB.
Si la base de datos MSDB está dañada y las opciones de reparación de DBCC no funcionan, coloque una nueva base de datos MSDB en y reemplace los archivos de la base de datos MSDB.
Cuando reemplazamos los archivos de la base de datos MSDB, perdemos toda la información, como los trabajos de respaldo personalizados, la información de tareas, la replicación, el trasvase de registros y los datos del plan de mantenimiento.
Los siguientes pasos se utilizan para reemplazar una base de datos MSDB existente por una nueva base de datos MSDB predeterminada.
El proceso de restauración mediante SQL Server Management Studio requiere un respaldo actual y se puede realizar yendo a las propiedades de la base de datos "msdb", Tareas >Restaurar >base de datos y señalando la ubicación de los medios de respaldo.
Utilice DBCC CheckDB para la reparación de la base de datos:
Si no hay ningún respaldo disponible, podemos ejecutar DBCC CheckDB para guardar la base de datos MSDB actual y su contenido. Los siguientes comandos T-SQL comprueban la integridad de la base de datos MSDB. Ejecute una reparación parcial de la base de datos MSDB y, por último, una reparación física de la base de datos MSDB:
- Comprobación de integridad de la MSDB; ¿La base de datos está libre de corrupción?
Ejecute el siguiente comando en la ventana de consulta de SSMS:
USE Master; GO ALTER Database MSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (msdb, NOINDEX); GO ALTER DATABASE MSDB SET-MULTI_USER; GODebemos verificar la línea en la parte inferior de la ventana de devolución que informa errores de "asignación" y "coherencia". Una base de datos MSDB dañada informa un error y requiere los siguientes comandos CHECKDB de DBCC para su reparación.
- Comando MSDB T-SQL para un intento de "recuperación de software" sin pérdida de datos:
Ejecute el siguiente comando en la ventana de consulta de SSMS:
USE Master; GO ALTER Database MSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (msdb, REPAIR_REBUILD); GO ALTER DATABASE MSDB SET-MULTI_USER; GODespués de ejecutar el comando anterior, vuelva a ejecutar DBCC CheckDB para ver el nuevo estado de la base de datos.
- Comando MSDB T-SQL para un intento de "recuperación forzada" con posible pérdida de datos:
Ejecute el siguiente comando en la ventana de consulta de SSMS:
USE Master; GO ALTER Database MSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (msdb, REPAIR_ALLOW_DATA_LOSS); GO ALTER DATABASE MSDB SET-MULTI_USER; GODespués de ejecutar el comando anterior, vuelva a ejecutar DBCC CheckDB para ver el nuevo estado de la base de datos.
Reemplace los archivos de base de datos MSDB.
Si la base de datos MSDB está dañada y las opciones de reparación de DBCC no funcionan, coloque una nueva base de datos MSDB en y reemplace los archivos de la base de datos MSDB.
Cuando reemplazamos los archivos de la base de datos MSDB, perdemos toda la información, como los trabajos de respaldo personalizados, la información de tareas, la replicación, el trasvase de registros y los datos del plan de mantenimiento.
Los siguientes pasos se utilizan para reemplazar una base de datos MSDB existente por una nueva base de datos MSDB predeterminada.
- Vaya al directorio de instalación de SQL Server y vaya a la carpeta Templates en el directorio Binn:
Los archivos msdbdata.mdf y msdblog.ldf son los archivos de plantilla de base de datos MSDB para los que debemos abrir una nueva base de datos MSDB estable.
- Debemos detener el servicio de SQL Server para reemplazar los archivos de base de datos MSDB existentes.
- Vaya al directorio de datos de SQL Server. La ruta del directorio en el siguiente ejemplo es
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
- Busque los archivos "msdbdata.mdf" y "msdblog.ldf" corruptos.
- Copie y mueva los archivos a otro directorio; En este caso, los movemos a una carpeta llamada "MSDB_Save". Existe la posibilidad de que estos archivos se puedan importar a otra instalación de SQL Server y volver a comprobarse con DBCC CHECKDB; No es una práctica recomendada eliminar los archivos de base de datos dañados durante la solución de problemas.
- Busque dónde se guardan los archivos de la base de datos temporal de MSDB y vuelva a colocar una copia de ellos en nuestro directorio de base de datos predeterminado de SQL Server:
- Ubicación final para los archivos temporales de la base de datos MSDB; en el directorio de datos predeterminado de
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
- Después de reemplazar los archivos de base de datos MSDB, inicie el servicio de SQL Server.
受影響的產品
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025產品
C Series, HS Series, Modular Infrastructure, Tower Servers, PowerEdge R240, PowerEdge R250, PowerEdge R260, PowerEdge R340, PowerEdge R350, PowerEdge R360, PowerEdge R440, PowerEdge R450, PowerEdge R540, PowerEdge R550, PowerEdge R640
, PowerEdge R6415, PowerEdge R650, PowerEdge R650xs, PowerEdge R6515, PowerEdge R6525, PowerEdge R660, PowerEdge R660xs, PowerEdge R6615, PowerEdge R6625, PowerEdge R740, PowerEdge R740XD, PowerEdge R740XD2, PowerEdge R7415, PowerEdge R7425, PowerEdge R750, PowerEdge R750XA, PowerEdge R750xs, PowerEdge R7515, PowerEdge R7525, PowerEdge R760, PowerEdge R760XA, PowerEdge R760xd2, PowerEdge R760xs, PowerEdge R7615, PowerEdge R7625, PowerEdge R840, PowerEdge R860, PowerEdge R940, PowerEdge R940xa, PowerEdge R960
...
文章屬性
文章編號: 000200606
文章類型: Solution
上次修改時間: 05 9月 2025
版本: 9
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。