Tabla de contenido
Reparación de bases de datos SQL

[Corregido] Error SQL Server 3156 La base de datos no puede ser restaurada


Tabla de contenido

Resumen: Al ejecutar el comando DBCC CHECKDB para reparar una base de datos corrupta, puede aparecer el error 8930. En este post, usted aprenderá cómo resolver el mensaje de error 8930 en SQL Server. También conocerá un avanzado software extractor de copias de seguridad SQL que puede ayudarle a restaurar archivos de copia de seguridad con facilidad.

Introducción

El mensaje de error 3156 de SQL Server está relacionado con la restauración de una base de datos. Mostraremos diferentes alternativas para solucionar el mensaje de error.

El mensaje de error es el siguiente:

Error SQL 3156: Error SQL 3156: El archivo ‘filename’ no se puede restaurar en ‘C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\FTData\Name’. Utilice WITH MOVE para identificar una ubicación válida para el archivo.

Además, puede seguir los sencillos pasos que se indican a continuación.

Requisitos

El presente artículo es adecuado para cualquier versión de SQL Server.

  • Instalador de SQL Server
  • Instalador de SSMS

Cómo empezar

Lo primero que hay que hacer es comprobar si el usuario que está restaurando el fichero tiene permisos en el fichero especificado.

Para comprobarlo, vaya al Explorador de Windows y copie y pegue la ruta mencionada en el mensaje de error:

Explorer y copia y pega la ruta mencionada

Si no tiene permisos restaure en otra ruta con los permisos en la carpeta o conceda permisos al usuario en la carpeta.

Para cambiar la ruta de restauración, en la ventana Restaurar base de datos, vaya a la pestaña Archivos:

Ventana Restaurar base de datos

Si marca la casilla Reubicar todos los archivos en la carpeta, puede cambiar la ubicación de restauración a un lugar válido.

ubicación de la restauración a un lugar válido

Si no le gusta la interfaz de usuario, puede utilizar los comandos T-SQL:

USE [master]
RESTORE DATABASE [databasename] FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\aw.bak' WITH FILE = 1,  
MOVE N'filename' TO C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\FTData\Name'.mdf',  
MOVE N'Logfile_log' TO N'C:\sql\logfile_log.ldf', NOUNLOAD, STATS = 5

El código utiliza la cláusula MOVE para mover los archivos a una ubicación diferente.

Si su copia de seguridad está dañada, puede utilizar Stellar Toolkit for MS SQLSolution. Este software incluye tres módulos:

  • MS SQL Database software repara archivos de datos de SQL Server (MDF y NDF)
  • MS SQL Password Recovery software recupera contraseñas perdidas de SQL Server (Usuario y SA).
  • El software MS SQL Backup Recovery recupera datos de archivos .BAK dañados o corruptos. En este artículo, vamos a utilizar este.
recupera datos de archivos .BAK dañados o corruptos

Abra Extraer de MS SQL Backup y seleccione el archivo bak. Los archivos de copia de seguridad suelen tener la extensión bak y normalmente se almacenan en la carpeta Archivos de programaSQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Backup, sin embargo, puede personalizar y guardar las copias de seguridad en un lugar diferente si lo desea.

MS SQL Backup y seleccione el archivo bak

También hay una opción para buscar la copia de seguridad si no sabes dónde está. La opción Buscar en especifica dónde iniciar la búsqueda y la opción Buscar en carpeta, iniciará la búsqueda:

 Buscar en carpeta

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

seleccionado el archivo de copia de seguridad

El botón Escanear iniciará la reparación de la copia de seguridad y el software le ofrecerá una ventana para seleccionar el conjunto de copias de seguridad. Puede comprobar el nombre del conjunto de copias de seguridad, la fecha:

seleccione el conjunto de copias de seguridad

Una vez seleccionado el conjunto de copias de seguridad, pulse el botón Siguiente y seleccione la versión de SQL Server:

seleccione la versión de SQL Server

Se puede trabajar con cualquier versión de SQL Server y también hay opciones para trabajar con ficheros creados en una versión y convertidos a una nueva. Pulse OK.

El software mostrará todos los objetos de SQL Server disponibles dentro de la copia de seguridad, incluyendo tablas, vistas, sinónimos, procedimientos almacenados, disparadores, secuencias, reglas, por defecto, asambleas y más:

Objetos de SQL Server dentro de la copia de seguridad, incluidas las tablas

Es posible previsualizar los datos dentro de las tablas:

Preview the data inside tables

También puede comprobar el código T-SQL de las vistas:

comprobar el código T-SQL de las vistas

Una vez seleccionados los objetos, pulse el botón Guardar para guardar la información.

seleccionado los objetos

Hay 4 opciones:

Hay 4 opciones

Una es guardar la información en SQL Server (MSSQL), la otra opción es guardar en un formato de valores separados por comas (CSV), en Hypertext Markup Language (HTML) o Excel (XLS). En este ejemplo, guardaremos en MSSQL.

Puede guardar la copia de seguridad en una base de datos nueva o en una base de datos existente (base de datos activa). Además, puede especificar el nombre de la instancia y el tipo de autenticación. Puede utilizar la ubicación predeterminada o una ubicación personalizada:

guardar la copia de seguridad en una Nueva base de datos

Una vez guardada, podrá ver la base de datos restaurada en SQL Server:

base de datos restaurada en SQL Server

Conclusión

En este artículo, mostramos diferentes maneras de resolver el mensaje de error 3156 de SQL Server. Mostramos cómo mover la ubicación de la base de datos restaurada y también una manera de arreglar la copia de seguridad si está dañada.

Por último, mostramos cómo utilizar Stellar Toolkit for MS SQL para recuperar una copia de seguridad dañada y restaurar la información. Es posible restaurar en MSSQL, HTML, Excel o CSV.

Was this article helpful?

No NO

Sobre el autor

Himanshu Shakya

Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

Publicación relacionada

POR QUÉ STELLAR® ES LÍDER MUNDIAL

¿Por qué elegir Stellar?

  • 2M+

    Clientes

  • 29+

    Años de excelencia

  • 97+

    Ingenieros de I+D

  • 185+

    Países

  • 7824+

    SOCIOS

  • 117+

    Premios recibidos

Este sitio web utiliza cookies para ofrecerle la mejor experiencia posible y para supervisar y mejorar el rendimiento del sitio, de conformidad con nuestra política de cookies..