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:
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:
Si marca la casilla Reubicar todos los archivos en la carpeta, puede cambiar la ubicación de 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.
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.
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:
Una vez seleccionado el archivo de copia de seguridad, pulse el botón Escanear:
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:
Una vez seleccionado el conjunto de copias de seguridad, pulse el botón Siguiente y 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:
Es posible previsualizar los datos dentro de las tablas:
También puede comprobar el código T-SQL de las vistas:
Una vez seleccionados los objetos, pulse el botón Guardar para guardar la información.
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:
Una vez guardada, podrá ver la 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?