2008-11-24 21 views

Respuesta

6

Si se trata de una operación única, ¿por qué preocuparse por arriba eficiencia tanto?

SELECT * INTO OtherDatabase..NewTable FROM ThisDatabase..OldTable 

o

INSERT OtherDatabase..NewTable 
SELECT * FROM ThisDatabase..OldTable 

... y se deja correr durante la noche. Me atrevería a decir que usar SELECT/INSERT INTO en el mismo servidor no está lejos de la mejor eficacia que puede obtener de todos modos.

+1

Usted hace un punto válido. Supongo que estoy demasiado programado para hacer las cosas de la "manera correcta". ¡Query se está ejecutando mientras escribo! – Martin

+1

considere el BULK INSERT en lugar de insertar. Consulte http://msdn.microsoft.com/en-us/library/ms188365.aspx –

+0

completado y solo le llevó 26 minutos. Gracias. – Martin

2

O puede utilizar el "Asistente de importación y exportación de SQL" que se encuentra en "Administración" en Microsoft SQL Server Management Studio.

2

Me gustaría ir con la respuesta de Tomalak.

Es posible que desee aparcar temporalmente su base de datos de destino en modo de recuperación de registro masivo antes de ejecutar un 'select into' para detener el archivo de registro de la explosión ...

1

Si se trata de SQL Server 7 o 2.000 vistazo a transformación de datos Servicios (DTS). Para SQL 2005 y 2008, mire SQL Server Integration Services (SSIS)

1

Definitivamente ponga el DB de destino en modo de registro masivo. Esto mínimamente registrará la operación y la acelerará.

Cuestiones relacionadas