locked
Nombre Base de Datos (Emergencia)

    Pregunta

  • Buenos días,

    Resulta que tengo dos bases de datos las cuales fueron creadas en sql server 2005 developer edition. Y únicamente poseo los archivos ldf y mdf. Necesito restaurar dichos archivos en mi motor que es SQL Server 2005 Express Edition y no he podido, puedo saber que pasa?

    Resulta que estuve leyendo y me decía que pusiera la Base de Datos en Emergencia, lo hice y ya puedo ver las tablas, pero igual no puedo ni ver las columnas, ni los registros.
    Me gustaría saber que puedo hacer para poder restaurar esta base de datos, lo que pasa es que tengo windows xp y no puedo instalar sql server developer porque me dice que error de sistema operativo.


    Gracias espero una pronta respuesta.

    La tecnologia te envuelve
    miércoles, 03 de junio de 2009 11:37

Respuestas

  • A esta altura sigo teniendo dudas de cual fue el problema que realmente origino todo esto.

    Por lo tanto vamos a empezar todo de nuevo usando los archivos ORIGINALES. Si tienes los dos archivos Log y de datos sugiero que intentes realizar el attach de dichos archivos previamente COPIANDO, y no moviendolos a la carpeta DATA del SQL Server.

    El comando deberia ser similar a este:


    EXEC sp_attach_db @dbname = N'DBAcueducto ', 
        @filename1 = N'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DBAcueducto.mdf', 
        @filename2 = N'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DBAcueducto.ldf';
    


    Si te da error quiero que nos indiques el error exacto.


    Saludos


    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    domingo, 07 de junio de 2009 19:18

Todas las respuestas

  • Hola.

    Dices que no has podido restaurar, en todo caso, será que no has podido hacer el attach. ¿Qué error te da cuando intentas hacer el attach?

    Alberto López Grande.

    miércoles, 03 de junio de 2009 13:09
    Moderador
  • Pues no entiendo algo, tiens la base de datos en emergencia o no puedes hacer el attach?

    La edicion "developer" funciona perfectamente en Windows XP.

    Saludos




    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    miércoles, 03 de junio de 2009 19:14
  • jeje que pena :(, sip eso trato de hacer un attach ya que tengo esos dos archivos (ldf, mdf).

    El error que me sale es el siguiente.

    http://img38.imageshack.us/img38/4093/sqlerror.jpg



    Gracias.



    La tecnologia te envuelve
    miércoles, 03 de junio de 2009 19:57
  • La base de datos la tenía en emergencia tratando de reconstruir el log.... pero no pude y ya la base de datos no está en emergencia ni nada.


    Respecto a la edición developer, pues hace tiempo traté de instalarla en un xp y no pude, pero por el momento tengo express luego intento instalar la developer.




    Gracias.


    La tecnologia te envuelve
    miércoles, 03 de junio de 2009 19:58
  • Deberas intentar con FOR ATTACH_REBUILD_LOG

    CREATE DATABASE database_name
        ON <filespec> [ ,...n ]
        FOR { ATTACH [ WITH <service_broker_option> ]
            | ATTACH_REBUILD_LOG }
    [;]

    Revisa el comando en la ayuda.




    Saludos
    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    miércoles, 03 de junio de 2009 20:12
  • Deberas que te agradezco mucho que me ayudes, pero la verdad ese comando lo encontré en internet y no fui capaz de hacer nada con el. Siempre me sacaba error de sintáxis.

    No entiendo esas llaves y esos corchetes  parentesis... .. Yo casi no sé de SQL Server :(.


    No sé si me puedas colaborar haciendo un ejemplo exacto y no dandome todas esas llaves y corchetes.


    Gracias man.
    La tecnologia te envuelve
    miércoles, 03 de junio de 2009 20:17
  • Algo asi:

    CREATE
    DATABASE mibase ON (FILENAME = 'C:\miarchivo.mdf' ) FOR ATTACH_REBUILD_LOG


    Saludos





    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    miércoles, 03 de junio de 2009 21:34

  • Esto fue lo que escribí

    CREATE

     

    DATABASE DBAcueducto ON (FILENAME = 'C:\Documents and Settings\Yeison Manco\Mis documentos\Visual Studio 2008\Projects\Acueducto\Datos\DBAcueducto.mdf' ) FOR ATTACH_REBUILD_LOG



    Me salió este error :(

    Mens. 5133, Nivel 16, Estado 1, Lnea 1

    Directory lookup for the file "C:\Documents and Settings\Yeison Manco\Mis documentos\Visual Studio 2008\Projects\Acueducto\Datos\DBAcueducto.mdf" failed with the operating system error 5(Acceso denegado.).


    La tecnologia te envuelve
    miércoles, 03 de junio de 2009 21:40
  • El problema es que no tiene permiso la cuenta del SQL Server de acceder a la carpeta donde estan los archivos, es un problema de permisos en el sistema operativo y no en el SQL Server.

    Sugiero que copies los archivos a la carpeta DATA del SQL Server. Puedes fijarte en las propiedades del servidor (boton derecho sobre el servidor) donde esta se encuantra.  En mi caso por ejemplo esta en C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA. Sino deberas darle permisos a la cuenta del SQL Server en donde se encuantran actualmente los archivos.

    Saludos












    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    viernes, 05 de junio de 2009 2:00
  • Mira intenté hacerlo como me dijiste copiando los archivos mdf y ldf a la carpeta C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data
    y el error que me sale es el siguiente:

    http://img195.imageshack.us/img195/7284/err2.jpg



    :( Respecto a habilitar permisos, la verdad no sé como se hace puesto que este es un equipo XP con privilegios de Administrador y sin ninguna clase de restricciones. :(


    Gracias por tu ayuda.
    La tecnologia te envuelve
    viernes, 05 de junio de 2009 23:24
  • Sugiero que con los archivos en dicha carpeta (DATA) uses en lugar de la interfaz grafica el codigo T-SQL

    Saludos

    CREATE DATABASE DBAcueducto 
    ON (
    	FILENAME = '<completarPATH>\DBAcueducto.mdf' 
    ) 
    FOR ATTACH_REBUILD_LOG 
    




    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    sábado, 06 de junio de 2009 15:07
  • Nuevamente te agradezco de todo corazón que me estes ayudando.


    Hice lo que me planteaste

    CREATE

     

    DATABASE DBAcueducto

    ON

     

    (

     

    FILENAME = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DBAcueducto.mdf'

    )

     

    FOR

     

    ATTACH_REBUILD_LOG





    Y me apareció el siguiente error:


    Mens. 1813, Nivel 16, Estado 2, Lnea 1

    Could not open new database 'DBAcueducto'. CREATE DATABASE is aborted.

    Mens. 9004, Nivel 21, Estado 1, Lnea 1

    An error occurred while processing the log for database 'DBAcueducto'. If possible, restore from backup. If a backup is not available, it might be necessary to rebuild the log.

     


    Gracias.


    La tecnologia te envuelve
    domingo, 07 de junio de 2009 0:05
  • A esta altura sigo teniendo dudas de cual fue el problema que realmente origino todo esto.

    Por lo tanto vamos a empezar todo de nuevo usando los archivos ORIGINALES. Si tienes los dos archivos Log y de datos sugiero que intentes realizar el attach de dichos archivos previamente COPIANDO, y no moviendolos a la carpeta DATA del SQL Server.

    El comando deberia ser similar a este:


    EXEC sp_attach_db @dbname = N'DBAcueducto ', 
        @filename1 = N'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DBAcueducto.mdf', 
        @filename2 = N'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DBAcueducto.ldf';
    


    Si te da error quiero que nos indiques el error exacto.


    Saludos


    Ing. Jose Mariano Alvarez http://blog.josemarianoalvarez.com/ Microsoft MVP SQLTotal Consulting Mi.Correo.es.j0se.marian0.alvarez@gmail.c0m.Corregirl0 (Cambia los ceros por O y saca lo que sobra) Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase
    domingo, 07 de junio de 2009 19:18