Compartir a través de


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 especifica el bloqueo de tabla (mediante TABLOCK).

    Nota:

    Aunque las inserciones de datos no se registran en el registro de transacciones durante una operación de importación masiva mínimamente registrada, el motor de base de datos sigue registrando asignaciones de extensión cada vez que se asigna una nueva extensión 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 empieza con una tabla vacía de almacén de filas e importa masivamente los datos en lotes, las páginas de índice y de datos se registran mínimamente para el primer lote, pero desde el segundo lote en adelante, solo se registran en bloque las páginas de datos.

    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, BULK INSERT las operaciones se registran por completo incluso en el modelo de recuperación optimizado para cargas masivas de registros.

Paso siguiente