Requisitos previos para el registro mínimo durante la importación masiva

Se aplica a: SQL Server

En el caso de las bases de datos que utilizan el modelo de recuperación completa, todas las operaciones de inserción de filas que se efectúan durante la importación masiva se registran por completo en el registro de transacciones. Las importaciones de datos de gran volumen pueden hacer que el registro de transacciones se llene rápidamente si se utiliza el modelo de recuperación completa. En cambio, bajo el modelo de recuperación simple o el modelo de recuperación optimizado para cargas masivas de registros, el registro mínimo de operaciones de importaciones masivas reduce la posibilidad de que una de estas operaciones acabe con el espacio del registro. Además, el registro mínimo es más eficaz que el completo.

Nota:

El modelo de recuperación optimizado para cargas masivas de registros está diseñado para reemplazar temporalmente al modelo de recuperación completa durante operaciones masivas de gran tamaño.

Requisitos de las tablas para las operaciones de importación masiva de registro mínimo

El registro mínimo exige que la tabla de destino cumpla las condiciones siguientes:

  • La tabla no se está replicando.

  • Se ha especificado el bloqueo de tabla (mediante TABLOCK).

    Nota:

    Aunque no se registren las inserciones de datos en el registro de transacciones cuando se realiza una importación masiva de registro mínimo, el Motor de base de datos seguirá registrando las asignaciones de extensiones cada vez que se asigne una nueva a la tabla.

  • La tabla no es una tabla optimizada para memoria.

La posibilidad de utilizar el registro mínimo con una tabla también depende de si la tabla está indizada y, en este caso, de si está vacía:

  • Si la tabla no tiene índices, el registro de las páginas de datos será mínimo.

  • Si la tabla no tiene índice clúster sino uno o más índices no clúster, el registro de las páginas de datos siempre será mínimo. Sin embargo, el modo en que se registran las páginas de índice depende de si la tabla está vacía:

    • Si la tabla está vacía, el registro de las páginas de índice será mínimo. Si empieza con una tabla vacía y realiza una importación masiva de datos mediante varios lotes, el registro de las páginas de índice y de datos será mínimo para el primer lote pero, a partir del segundo lote, solo las páginas de datos se registrarán de forma mínima.

    • Si la tabla no está vacía, el registro de las páginas de índice será completo.

    • Si uno de los índices tiene IGNORE_DUP_KEY = ON, las páginas de índice y de datos se registran por completo.

  • Si la tabla tiene un índice clúster y está vacía, tanto las páginas de datos como de índice se registrarán de forma mínima. En cambio, si la tabla tiene un índice en clúster basado en B-tree pero no está vacía, tanto las páginas de datos como las de índice se registrarán de forma completa, independientemente del modelo de recuperación utilizado. Si empiezas con una tabla de almacén de filas vacía y realizas una importación masiva de datos mediante varios lotes, el registro de las páginas de índice y de datos será mínimo para el primer lote pero, a partir del segundo lote, solo las páginas de datos se registrarán de forma mínima.

    Nota:

    La documentación utiliza el término árbol B generalmente en referencia a los índices. En los índices del almacén de filas, el motor de la base de datos implementa un árbol B+. Esto no se aplica a los índices de almacén de columnas ni a los índices de tablas optimizadas para memoria. Para obtener más información, consulte la guía de diseño y arquitectura de índices de SQL Server y Azure SQL.

  • Para obtener información sobre el registro de un índice de almacén de columnas agrupado (CCI), consulte la guía de carga de datos de índice de almacén de columnas.

Nota:

Cuando la replicación transaccional está habilitada, las operaciones BULK INSERT se registran por completo en el modelo de recuperación optimizado para cargas masivas de registros.

Consulte también

Pasos siguientes