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.

    Read full summary

    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 & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

    Publicación relacionada

    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