¿Cómo solucionar el error 3183 debido a un archivo de copia de seguridad de SQL dañado?


El error 3183 de SQL Server está relacionado con la corrupción de la base de datos, en concreto con una página dañada. En este artículo, aprenderá por qué se produce este error y cómo solucionarlo. También mencionaremos una herramienta de reparación de bases de datos SQL que le permitirá reparar y restaurar fácilmente archivos de copia de seguridad de bases de datos SQL Server corruptos para solucionar el error.

El error 3183 puede producirse al restaurar la base de datos SQL Server a partir de una copia de seguridad. Suele producirse si falla la validación de una página durante la restauración de la copia de seguridad de la base de datos con la opción CHECKSUM. El proceso de restauración se cancela entonces. Es posible que reciba un mensaje de error similar a éste:

 Msg 3183, Nivel 16, Estado 1, Línea 1
RESTORE ha
detectado
un error en la página (10:10) de la base de datos "stellardb" al leer del conjunto de copias de seguridad.Código de copia

En el mensaje anterior, 3183 es el ID del error. El nivel 16 significa que se trata de un error fatal y el estado 1 significa que el error se produjo durante la lectura de la página. La línea 1 es la línea en la que se produjo el error.

¿Por qué se produce el error 3183 en SQL Server?

La causa más probable de este error es que una página de la base de datos SQL Server esté dañada. Esto puede deberse a varias causas, por ejemplo, errores de hardware, problemas de software, problemas con el sistema operativo, etc. Por ejemplo, si los sectores de la unidad de disco están dañados, las páginas también lo estarán. Un fallo de alimentación también puede dañar el hardware y, por tanto, corromper las páginas de la base de datos SQL Server. Si el sistema operativo falla, esto también puede dañar las páginas de la base de datos. Los virus y el malware también pueden afectar a la copia de seguridad de la base de datos.

Soluciones para corregir el error 3183 en SQL Server

Puede seguir las siguientes soluciones para solucionar el error 3183 de SQL Server y restaurar la base de datos.

Sin embargo, compruebe primero si la copia de seguridad de su base de datos está dañada. Para ello, puede utilizar el comando RESTORE en T-SQL con la opción VERIFYONLY (véase el siguiente ejemplo).

 RESTORE VERIFYONLY FROM DISK = 'C:\Path\To\yourBackup.bak';Copie el Código

Puede utilizar este comando para comprobar la integridad del archivo de copia de seguridad.

Solución 1: Utilice la opción CONTINUE_AFTER_ERROR

Puede intentar restaurar la base de datos con la opción CONTINUE_AFTER_ERROR. Esta opción restaura la base de datos, pero es posible que se pierdan algunos datos. Esta opción intenta ignorar los errores y continuar restaurando la base de datos.

El siguiente ejemplo muestra cómo restaurar la base de datos utilizando la opción CONTINUE_AFTER_ERROR.

 RESTORE DATABASE [stellar]FROM DISK = N'e:\Backup\stellar.bak'
WITH FILE = 2,
NOUNLOAD,
STATS = 5, CONTINUE_AFTER_ERROR;Copiar Código

Tras la restauración, puede comprobar el estado de la base de datos ejecutando el comando DBCC CHECKDB (véase el siguiente ejemplo).

 DBCC CHECKDB('stellar') WITH NO_INFOMSGS;Copiar código

Solución 2: Utilizar software especializado para reparar copias de seguridad de bases de datos SQL

Si el comando RESTORE DATABASE con la opción CONTINUE_AFTER_ERROR falla o para evitar la pérdida de datos, puede utilizar un software de reparación de bases de datos SQL de terceros para reparar el archivo de copia de seguridad corrupto. Stellar Repair for MS SQL - Technician es uno de estos software de terceros que puede reparar y restaurar archivos de copia de seguridad de bases de datos corruptos de cualquier versión de SQL Server. Sólo tiene que seleccionar el archivo de copia de seguridad y el software lo reparará. Veamos cómo funciona este software.

En primer lugar, instale el software Stellar Repair for MS SQL - Technician.

A continuación, inicie el software y seleccione la opción Extraer desde copia de seguridad de MS SQL.

image001-1

Si sabe dónde se encuentra su archivo de copia de seguridad, haga clic en el botón Examinar y seleccione el archivo .bak. Si no sabe dónde se encuentra, puede utilizar el botón Buscar para localizar el archivo de copia de seguridad.

image002-2

Una vez seleccionado el archivo de copia de seguridad, pulse el botón Escanear.

image003

Verá dos opciones de escaneado:

  • El escaneado estándar es la opción por defecto y la recomendada.
  • El escaneado avanzado, que es más lento pero se utiliza si falla el escaneado estándar.

image004

Seleccione la copia de seguridad y pulse Siguiente.

image005

Podrá ver todos los objetos de su base de datos en la ventana de vista previa.

image006

Pulse el icono Guardar.

image007

Puede guardar los datos en una nueva base de datos, en una base de datos activa o en otros formatos como Excel, CSV o HTML.

image008

¿Cómo puede evitarse el error 3183?

He aquí algunas prácticas recomendadas que le ayudarán a evitar el error 3183 en SQL Server.

  • Asegúrese de instalar un software antivirus y antimalware.
  • Utilice siempre un SAI para evitar fallos en el suministro eléctrico.
  • Pruebe sus copias de seguridad con regularidad.
  • Almacene sus copias de seguridad en la nube o al menos en otra ubicación física.
  • Supervise el estado de su hardware.
  • Supervise el estado de su base de datos.

Conclusión

El error 3183 de SQL Server suele producirse debido a páginas dañadas. Puede seguir las soluciones anteriores para resolver este error de SQL Server que se produce al restaurar una copia de seguridad de la base de datos. Puede intentar restaurar la copia de seguridad dañada utilizando la opción CONTINUE_AFTER_ERROR. Si la opción CONTINUE_AFTER_ERROR falla, puede utilizar Stellar Repair for MS SQL. Este software repara la copia de seguridad dañada y restaura todos los datos.



Was this article helpful?
Sobre el autor
author image
Himanshu Shakya

Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

Índice

POR QUÉ STELLAR® ES LÍDER MUNDIAL

¿Por qué elegir Stellar?
  • 0M+

    CLIENTES

  • 0+

    Años de excelencia

  • 0+

    INGENIEROS DE I+D

  • 0+

    PAÍSES

  • 0+

    SOCIOS

  • 0+

    PREMIOS RECIBIDOS