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 & 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