mOVER 10 MILLONES DE REGISTROS

11/04/2006 - 17:41 por Siliuss | Informe spam
Buenos dias amigos, necesito pasar 10 MILLONES registros de una tabla a
otra, como haria esto? recordandoles que en la tabla a donde quiero mover los
registros esta vacia, necesito la mejor opcion , porque los procedimeintos
seguidos nunca acaban y me consumen mucho el log de trasacciones.


saludos y muchas gracias

Preguntas similare

Leer las respuestas

#1 Penta
11/04/2006 - 17:47 | Informe spam
No basta con ?
Insert Into Tabla_Destino
Select * From Tabla_Origen

Eso consume mucho log ?

Penta.
Respuesta Responder a este mensaje
#2 Siliuss
11/04/2006 - 17:59 | Informe spam
Me esta consumiendo log ente 7 a 8 GB de log y se demora demasiado y el
hardware del servidor es 2 up 4gb de ram y sql 2000 entreprice

"Penta" escribió:

No basta con ?
Insert Into Tabla_Destino
Select * From Tabla_Origen

Eso consume mucho log ?

Penta.


Respuesta Responder a este mensaje
#3 Alejandro Mesa
11/04/2006 - 19:16 | Informe spam
Siliuss,

Create un paquete DTS para mover la data de una tabla a la otra. En la tarea
"Transform Data" que uses, ve a las propiedades y prende "Use fast load" y
tambien pon un numero deter minado (por ejemplo 5000) en la caja "Insert
batch size" para que inserte las filas en batches y no consuma tanto log.

Si quieres hacerlo programaticamente, tendras que crear una transaccion e ir
insertando en grupo.

declare @i int

select @i = min(pk) from t1

while exists(select * from t1 where pk >= @i)
begin
begin transaction

insert into t2
select top 5000 * from t1 where pk >= @i order by pk

commit transaction

select @i = min(pk) from t1 where pk > (select max(pk) from t2)
end
go


AMB

"Siliuss" wrote:

Me esta consumiendo log ente 7 a 8 GB de log y se demora demasiado y el
hardware del servidor es 2 up 4gb de ram y sql 2000 entreprice

"Penta" escribió:

> No basta con ?
> Insert Into Tabla_Destino
> Select * From Tabla_Origen
>
> Eso consume mucho log ?
>
> Penta.
>
>
Respuesta Responder a este mensaje
#4 Siliuss
11/04/2006 - 19:39 | Informe spam
AMIGOS MUCHAS GRACIAS POR SUS RECOMENDACIONES

SALUDOS

"Alejandro Mesa" escribió:

Siliuss,

Create un paquete DTS para mover la data de una tabla a la otra. En la tarea
"Transform Data" que uses, ve a las propiedades y prende "Use fast load" y
tambien pon un numero deter minado (por ejemplo 5000) en la caja "Insert
batch size" para que inserte las filas en batches y no consuma tanto log.

Si quieres hacerlo programaticamente, tendras que crear una transaccion e ir
insertando en grupo.

declare @i int

select @i = min(pk) from t1

while exists(select * from t1 where pk >= @i)
begin
begin transaction

insert into t2
select top 5000 * from t1 where pk >= @i order by pk

commit transaction

select @i = min(pk) from t1 where pk > (select max(pk) from t2)
end
go


AMB

"Siliuss" wrote:

> Me esta consumiendo log ente 7 a 8 GB de log y se demora demasiado y el
> hardware del servidor es 2 up 4gb de ram y sql 2000 entreprice
>
> "Penta" escribió:
>
> > No basta con ?
> > Insert Into Tabla_Destino
> > Select * From Tabla_Origen
> >
> > Eso consume mucho log ?
> >
> > Penta.
> >
> >
Respuesta Responder a este mensaje
#5 Maxi
12/04/2006 - 13:40 | Informe spam
Hola, yo te recomiendo una cosa en estos casos, Exportar a txt la
informacion y via BCP (linea de comandos) subirla.
Si no queres que consuma log y lo que estas haciendo es una migracion (o sea
durara un tiempo y luego quedaria en produccion) entonces ademas de esto
poner el modelo de recuperacion en simple


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Siliuss" escribió en el mensaje
news:
Buenos dias amigos, necesito pasar 10 MILLONES registros de una tabla a
otra, como haria esto? recordandoles que en la tabla a donde quiero mover
los
registros esta vacia, necesito la mejor opcion , porque los procedimeintos
seguidos nunca acaban y me consumen mucho el log de trasacciones.


saludos y muchas gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida