Ver Mensaje Individual
  #11 (permalink)  
Antiguo 04/05/2012, 17:58
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Problema con BULK INSERT en SQL Server 2008

Cita:
Iniciado por carinalvz70 Ver Mensaje
Como están? Mi problema es el siguiente: Estoy migrando mi base de datos a esta versión y me llama la atención que ciertos procesos donde cargo algunos archivos planos en tablas utilizando el comando BULK INSERT, demoran más que en la versión 2000. Alguien tiene una idea de porqué puede estar sucediendo esto? Como lo puedo solucionar?
Los benchmark de SQL Server 2008 son muy superiores a los de SQL Server 2000, y es poco probable que el comando bulk insert sea la excepción, pero esto no significa que un proceso sea más rápido de manera transparente, siempre se necesita alguna optimización.

Suponiendo que el proceso es el mismo, es decir, tiene la misma consulta bulk, los mismos ficheros de datos y la misma tabla de destino (incluyendo triggers, índices o constraints), y que el único cambio es la versión de SQL Server, lo que deberías analizar es:

1. Como bien comentaron, después de la recuperación de la base de datos, valida el nivel de compatibilidad y el recovery model.

2. Teniendo en cuenta los cambios de SQL Server 2008 sobre la gestión de transacciones, gestión de buffer pool y flush de páginas, prueba el rendimiento del bulk con diferentes valores de los parámetros batchsize y tablock.

3. Diferencias de entorno, como por ejemplo, parámetros de memoria de SQL Server, hardware del servidor, carga de trabajo (otros usuarios accediendo a la base), etc.

4. Comunicación entre cliente y servidor, si los ficheros de datos están en una unidad de red, valida que tengas el mismo ratio de transferencia con el servidor de SQL Server 2008.

5. Formato del fichero, SQL Server 2008 soporta nuevos formatos para la importación, prueba el rendimiento del bulk con Native Format o Unicode Native Format.

Saludos