Directrices básicas para la importación masiva de datos

Puede utilizar el comando de bcp, la instrucción BULK INSERT o la función OPENROWSET(BULK) para la importación masiva de datos sólo desde un archivo de datos.

Nota

Es posible escribir una aplicación personalizada que importe de forma masiva datos desde objetos que no sean un archivo de texto. Para realizar la importación masiva de datos desde búferes de memoria, utilice las extensiones de bcp a la interfaz de programación de aplicaciones (API) cliente nativa (ODBC) de SQL Server o la interfaz IRowsetFastLoad de OLE DB. Para realizar la importación masiva de datos desde una tabla de datos de C#, utilice la API de copia masiva de ADO.NET, SqlBulkCopy.

Nota

No se admite la importación masiva de datos en una tabla remota.

Utilice las siguientes directrices al importar masivamente datos de un archivo de datos a una instancia de Microsoft SQL Server:

  • Obtenga los permisos necesarios para la cuenta de usuario.

    La cuenta de usuario en que use la utilidad bcp, la instrucción BULK INSERT o la instrucción INSERT ... SELECT * FROM OPENROWSET(BULK...) debe tener los permisos necesarios sobre la tabla, que son asignados por el propietario de la tabla. Para obtener más información acerca de los permisos necesarios para cada método, vea bcp (utilidad), OPENROWSET (Transact-SQL) y BULK INSERT (Transact-SQL).

  • Use el modelo de recuperación optimizado para cargas masivas de registros.

    Esta indicación es para bases de datos que utilizan el modelo de recuperación completa. El modelo de recuperación optimizado para cargas masivas de registros resulta útil al realizar operaciones masivas en una tabla sin indizar (un montón). El uso de la recuperación por medio de registros de operaciones masivas ayuda a evitar que el registro de transacciones se quede sin espacio, ya que este tipo de recuperación no realiza la inserción de filas del registro. Para obtener más información acerca del modelo de recuperación optimizado para cargas masivas de registros, vea Copias de seguridad con el modelo de recuperación optimizado para cargas masivas de registros.

    Se recomienda cambiar la base de datos para que use el modelo de recuperación optimizado para cargas masivas de registros inmediatamente antes de la operación de importación masiva. Inmediatamente después, debe restablecer la base de datos al modelo de recuperación completa. Para obtener más información, vea Cambiar del modelo de recuperación completa al modelo de recuperación optimizado para cargas masivas de registros.

    Nota

    Para obtener más información sobre cómo minimizar la creación de registros durante las operaciones de importación masiva, vea Requisitos previos para el registro mínimo durante la importación masiva.

  • Realice una copia de seguridad después de la importación masiva de datos.

    Para una base de datos que utilice el modelo de recuperación simple, se recomienda realizar una copia de seguridad completa o diferencial cuando finalice la operación de importación masiva. Para obtener más información, vea Crear copias de seguridad completas y diferenciales de una base de datos de SQL Server.

    Si se utiliza el modelo de recuperación optimizado para cargas masivas de registros o de recuperación completa, basta con una copia de seguridad de registros. Para obtener más información, vea Crear copias de seguridad de registros de transacciones.

  • Elimine los índices de las tablas para mejorar el rendimiento de las importaciones masivas de gran tamaño.

    Esta indicación es adecuada cuando vaya a importar una gran cantidad de datos en comparación con la cantidad de datos que ya tiene la tabla. En este caso, la eliminación de los índices de la tabla antes de realizar la operación de importación masiva puede aumentar el rendimiento considerablemente.

    Nota

    Sin embargo, si va a cargar una cantidad pequeña de datos en comparición con la cantidad de datos ya incluidos en la tabla, quitar los índices es contraproducente. El tiempo necesario para volver a crear los índices puede ser mayor que el tiempo que se ahorra durante la operación de importación masiva.

    Para obtener más información, vea Optimizar el rendimiento de la importación masiva.

  • Busque y quite los caracteres ocultos del archivo de datos.

    Muchas herramientas y editores de texto muestran los caracteres ocultos que suelen encontrarse al final del archivo de datos. Durante una operación de importación masiva, los caracteres ocultos en un archivo de datos ASCII pueden producir problemas que den como resultado un error de tipo "se encontró un valor nulo inesperado". La búsqueda y eliminación de todos los caracteres ocultos debería solucionar el problema.