Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Transportar BD en Sql Server (https://www.clubdelphi.com/foros/showthread.php?t=81749)

Melissa_12 13-12-2012 21:35:49

Transportar BD en Sql Server
 
Hola, mi problema es el siguiente, ayer quise llevarme mi base de datos de una maquina para otra mediante un backup y me dio error con los archivos MDF y LDF, ademas trate de hacer un script pero solo copio la estructura de las tablas, nada de datos, pensaba que tambien se copiaban los datos,la verdad es que no se que significa ni para que se utilizan pues siempre he trabajado en mi maquina como servidor, por favor si alguien me pudiera explicar o decirme algun sitio donde expliquen esto. Como es mejor para llevar una base de datos en Sql Server 2000 a otra maquina? Muchas Gracias.

luisgutierrezb 13-12-2012 22:39:44

Generalmente el error que manda el backup es que no es la misma ruta, yo te recomiendo, hacer el backup, y en el otro equipo crear la base de datos con el nombre igual, y darle en restaurar base de datos, en opciones viene lo de la ruta donde quedaran el mdf y el ldf, fijate que sea la misma donde realmente estan porque la ruta se la trae del backup, si no es la misma, modificala para que quede igual y ponle en la opcion de sobreescribir la base de datos y listo! no deberias tener problemas

olbeup 14-12-2012 09:01:21

Hola Melissa_12

Para hacer una copia de seguridad eficiente y sin problemas de que día y hora la has realizado:
Código SQL [-]
DECLARE
    @fileBackup     varchar(100)
    ,@decodeDate    varchar(8)
    ,@decodeTime    varchar(4)
    ,@year          varchar(4)
    ,@month         varchar(2)
    ,@day           varchar(2)
    ,@hour          varchar(2)
    ,@min           varchar(2)

SET @year  = CAST(DATEPART(yyyy, GetDate()) AS varchar(4))
SET @month = CAST(DATEPART(mm, GetDate()) AS varchar(2))
SET @day   = CAST(DATEPART(dd, GetDate()) AS varchar(2))

SET @hour = CAST(DATEPART(hh, GetDate()) AS varchar(2))
SET @min  = CAST(DATEPART(mi, GetDate()) AS varchar(2))

IF (LEN(@month) = 1)
  SET @month = '0' + @month

IF (LEN(@day) = 1)
  SET @day = '0' + @day
  
IF (LEN(@hour) = 1)
  SET @hour = '0' + @hour

IF (LEN(@min) = 1)
  SET @min = '0' + @min
  
SET @decodeDate = @year+@month+@day
SET @decodeTime = @hour+@min

SET @fileBackup = 'C:\TuRuta\Databases\CopiaSeg\Fichero' + 
  @decodeDate + @decodeTime + '.bak'

BACKUP 
  DATABASE TuBaseDeDatos
    TO DISK = @fileBackup


Para hacer una restauración de seguridad:
Código SQL [-]
RESTORE
  DATABASE TuBaseDeDatos
    FROM DISK = 'C:\TuRuta\Databases\CopiaSeg\Ficheroyyyymmddhhnn.bak'

Un saludo

P.D.: Si te de error a la hora de restaurar es porque ya existe, borrala y no tendrás problemas.

Melissa_12 14-12-2012 14:13:08

Muchas Gracias, luisgutierrezb y olbeup por responder, pondré en práctica sus consejos. Lo otro que quería preguntar es que si lo mejor para transportar una base de datos en SQL Server es mediante un backup?. Gracias.

olbeup 14-12-2012 15:44:50

Cita:

Empezado por Melissa_12 (Mensaje 451840)
Muchas Gracias, luisgutierrezb y olbeup por responder, pondré en práctica sus consejos. Lo otro que quería preguntar es que si lo mejor para transportar una base de datos en SQL Server es mediante un backup?. Gracias.

No es lo mejor, es lo recomendable.

Un saludo.

Melissa_12 18-12-2012 14:00:08

Hola!, muchas gracias por responder y disculpen mi insistencia, es que quiero aprender, hace unos meses vi a alguien que transportaba su bd en ficheros *.sql, o sea de los scripts que hace sql server y no se muy bien para que utilizarlos, o si los datos se guardan tambien ahi o solamente la estructura de las tablas. Muchas Gracias.

juanelo 18-12-2012 16:35:23

Que tal Melissa_12,
A lo que te refieras muy posiblemente es a poder llevar contigo el contenido de la base de datos en formato de scripts (el metadata y los datos en si en forma de inserts). Existen algunas herramientas que tienen la posibilidad de generarte dichos scripts para ser transportados, pero generalemente son usados para migrar de una base de datos a otra (por ejemplo de SQL Server a Oracle).
Pero si tu intención es transportar los datos para ser usados por otro SQL Server, las opciones que te mencionan arriba son a mi parecer lo mejor que pudieras hacer.
Te mando un saludo.


La franja horaria es GMT +2. Ahora son las 02:10:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi