Saltar al contenido
DBAExperts
SQL Server Migración y datos

Cómo exportar e importar datos en SQL Server (BCP y BULK INSERT)

Para mover grandes volumenes de datos, BCP (linea de comandos) y BULK INSERT (T-SQL) son las herramientas mas rapidas. Aqui como usar cada una.

  1. 1

    Exporta datos con BCP (out)

    BCP es una utilidad de linea de comandos. Con 'out' exporta una tabla o vista a un archivo. -c usa formato de texto con caracteres, -t define el separador.

    bcp MiBase.dbo.Ventas out "D:\Export\ventas.csv" ^
      -c -t"," -r"\n" -S SRV1\INST -T
  2. 2

    Exporta el resultado de una consulta (queryout)

    Con 'queryout' exportas cualquier SELECT, no solo una tabla completa. Util para filtrar o unir antes de exportar.

    bcp "SELECT ClienteID, Total FROM MiBase.dbo.Ventas WHERE Total > 1000" ^
      queryout "D:\Export\ventas_grandes.csv" ^
      -c -t"," -S SRV1\INST -T
  3. 3

    Importa con BULK INSERT desde T-SQL

    BULK INSERT carga un archivo a una tabla existente desde dentro de SQL Server. El archivo debe ser accesible por la cuenta de servicio de SQL Server.

    BULK INSERT dbo.Ventas
    FROM 'D:\Import\ventas.csv'
    WITH (
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n',
      FIRSTROW = 2,        -- salta el encabezado
      TABLOCK,             -- mejora rendimiento
      KEEPNULLS
    );
  4. 4

    Importa con BCP (in)

    BCP tambien importa con 'in'. Practico cuando el archivo esta en el equipo cliente y no en el servidor.

    bcp MiBase.dbo.Ventas in "D:\Import\ventas.csv" ^
      -c -t"," -F 2 -S SRV1\INST -T

// el error común

BULK INSERT lee el archivo desde el servidor (la cuenta de servicio de SQL debe tener permiso a esa ruta), no desde tu equipo. Cuida el ROWTERMINATOR: archivos de Windows usan \r\n, no solo \n. Para volumenes muy grandes usa TABLOCK y considera el modelo BULK_LOGGED para reducir el crecimiento del log.

// cuándo conviene un experto

Migraciones y cargas masivas tienen detalles finos: encoding, formatos, tipos, integridad referencial y rendimiento. En dba.mx hacemos migraciones y cargas de datos verificadas fila por fila, con techo cerrado.

Agenda un Escaneo — desde USD $550

Esta guía es orientativa y usa comandos de referencia. En producción, adapta a tu versión y prueba en un ambiente seguro primero.