Por alguna razón tengo que desinstalar SQL Server 2008 R2, pero antes de que he copiado los dos archivos (.mdf y .ldf) de mi base de datos de

C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.MSSQL2008\MSSQL\DATA

Ahora, la pregunta es, ¿es posible para mí para recuperar la base de datos de estos archivos en mi nuevo instalado SQL Server 2008 R2.

Si sí: entonces, ¿cómo puedo hacer esto?

  • Sí, usted puede adjuntar una base de datos cuando usted tiene los dos archivos.
  • traté de hacerlo, pero da un error al adjuntar la base de datos.
  • error diciendo que no se puede abrir el archivo físico. error del sistema operativo 5(acceso denegado) MSSQL Server error 5120
  • Son los archivos de la física de la máquina donde se ejecuta SQL Server?
  • me parece que este Aquí – haga clic derecho sobre los archivos(.y mdf .LDF) en el Explorador de Windows, seleccione Propiedades, seleccione la ficha Seguridad -haga Clic en Avanzada, haga Clic en Cambiar Permisos y Desmarca la casilla «Incluir los permisos heredables»,se abrirá una ventana -haga Clic en Eliminar(elimina todos los permisos),la ventana se cerrará Clic en Agregar-Introduzca su nombre de inicio de sesión y haga clic en ACEPTAR, el permiso se abrirá la ventana -Verificación Completa de Control-Allow-haga Clic en ACEPTAR,aceptar,ACEPTAR,ACEPTAR
  • Desde mi usuario no tiene permisos, yo era capaz de conseguir todo el error de acceso denegado mediante la ejecución de management studio como administrador.
  • también puede restaurar los archivos de base de datos utilizando SQL Server Management Studio serverintellect.com/support/sqlserver/sql-database-attach
  • Otra posible solución para eso, usted necesita para proporcionar acceso completo a los archivos de base de datos. ver aquí: mirzahusain.wordpress.com/2017/02/03/…

InformationsquelleAutor Ahsan Raza | 2013-08-19

6 Comentarios

  1. 99

    Sí, es posible.
    Los pasos son:

    1. Colocar en primer lugar el .mdf y .ldf archivo en C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ carpeta

    2. A continuación, vaya a sql software , Haga clic en «Bases de datos» y haga clic en «Adjuntar» opción para abrir el Adjuntar las Bases de datos del cuadro de diálogo

    3. Haga clic en el botón «Agregar» para abrir y Localizar los Archivos de Base de datos De C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\carpeta

    4. Haga clic en el botón «ACEPTAR». SQL Server Management Studio cargas de la base de datos de la .MDF archivo.

  2. 10

    Primera búsqueda en google me dio esta respuesta. Así que pensé en la actualización de esta con la versión más reciente de conectar, desconectar.

    Create database dbname 
    On 
    (   
    Filename= 'path where you copied files',   
    Filename ='path where you copied log'
    )
    For attach; 

    Además,si su base de datos es de forma limpia apagado(no hay transacciones activas, mientras que la base de datos estaba apagado) y usted no tiene el archivo de registro,puede utilizar el siguiente método,SQL server creará un nuevo archivo de registro de transacciones..

    Create database dbname 
        On 
        (   
        Filename= 'path where you copied files'   
        )
        For attach; 

    si no se especifica ningún archivo de registro de transacciones de SQL intentará buscar en la ruta de acceso predeterminada y se intenta utilizar que, independientemente de si la base de datos fue limpiamente apagado o no..

    Aquí es lo que MSDN tiene que decir acerca de esto..

    Si una lectura-escritura de la base de datos tiene un archivo de registro único y no especificar una nueva ubicación para el archivo de registro, la operación de adjuntar ve en la antigua ubicación para el archivo. Si se encuentra, el antiguo archivo de registro se utiliza, independientemente de si la base de datos se cerró correctamente. Sin embargo, si el archivo de registro no se encuentra y si la base de datos se cerró correctamente y no tiene registro activo de la cadena, la operación de adjuntar los intentos de crear un nuevo archivo de registro para la base de datos.

    Hay algunas restricciones con este enfoque y algunos efectos secundarios demasiado..

    1.adjuntar y separar las operaciones de deshabilitar el encadenamiento de propiedad entre bases para la base de datos

    2.Base de datos de confianza se establece en off

    3.Separar una lectura de base de datos sólo se pierde información acerca de las bases diferenciales de copias de seguridad diferenciales.

    Lo más importante..no se puede adjuntar una base de datos con las versiones más recientes a una versión anterior

    Referencias:

    https://msdn.microsoft.com/en-in/library/ms190794.aspx

  3. 9

    A partir de un guión (que funciona):

    CREATE DATABASE Northwind
    ON ( FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Northwind.mdf' )
    LOG ON ( FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Northwind_log.ldf')
    GO

    obviamente actualizar la ruta de acceso:

    C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

    A donde tu .y mdf .ldf residen.

    • no funciona, Msg 5170, Nivel 16, Estado 4, Línea 1 No se puede crear el archivo ‘D:\test.mdf’ porque ya existe. Cambiar la ruta de acceso del archivo o el nombre del archivo y vuelva a intentar la operación.
    • en serio?
  4. 7

    Tengo una respuesta para usted
    Sí, es posible.

    Ir a

    SQL Server Management Studio > seleccione la Base de datos > haga clic en adjuntar

    Y, a continuación, seleccione agregar .y mdf .archivo ldf. Haga clic en ACEPTAR.

  5. 1

    esto es lo que hice

    ejecutar primero create database x. x es el nombre de su base de datos por ejemplo, el nombre de la mdf.

    A continuación, abra sql sever configration y detener sql sever.

    Allí después de navegar a la ubicación de la nueva base de datos creada debe ser en virtud de archivo de programa, en mi caso es

    C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQL\MSSQL\DATA

    y repleace la crea de nuevo en mdf e Idf con la edad de los archivos de base de datos.

    a continuación, sólo tiene que reiniciar el servidor sql server y walla 🙂

  6. 0
    use test
    go
    alter proc restore_mdf_ldf_main (@database varchar(100), @mdf varchar(100),@ldf varchar(100),@filename varchar(200))
    as
    begin 
    begin try
    RESTORE DATABASE @database FROM DISK = @FileName
    with norecovery,
    MOVE @mdf TO 'D:\sql samples\sample.mdf',
    MOVE @ldf TO 'D:\sql samples\sample.ldf'
    end try
    begin catch
    SELECT ERROR_MESSAGE() AS ErrorMessage;
    print 'Restoring of the database ' + @database + ' failed';
    end catch
    end
    
    exec restore_mdf_ldf_main product,product,product_log,'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\product.bak'

Dejar respuesta

Please enter your comment!
Please enter your name here