Pré-requisitos para log mínimo em importação em massa

Para um banco de dados no modelo de recuperação completa, todas as operações de inserção de linha executadas pela importação em massa são registradas completamente no log de transações. Importações de dados grandes poderão fazer o log de transações ficar cheio rapidamente se o modelo de recuperação completa for usado. Por outro lado, no modelo de recuperação simples ou no modelo de recuperação bulk-logged, o log mínimo de operações de importação em massa reduz a possibilidade de uma operação de importação em massa preencher o espaço do log. O log mínimo também é mais eficiente que o log completo.

ObservaçãoObservação

O modelo de recuperação bulk-logged foi projetado para substituir temporariamente o modelo de recuperação completa durante operações em massa de grande porte. Para obter informações sobre a troca entre o modelo de recuperação completa e o modelo de recuperação com log de operações em massa, consulte Considerações sobre como alternar do modelo de recuperação completa ou bulk-logged.

Requisitos de tabela para operações de importação em massa com log mínimo

O log mínimo requer que a tabela de destino atenda às seguintes condições:

  • A tabela não está sendo reproduzida.

  • O bloqueio da tabela é especificado (usando TABLOCK).

    Para obter mais informações, consulte Controlando o comportamento de bloqueio para a importação em massa.

    ObservaçãoObservação

    Embora as inserções de dados não sejam registradas no log de transações durante uma operação da importação com log em massa, o Mecanismo de Banco de Dados ainda faz o log de alocações de extensão cada vez que uma nova extensão é alocada à tabela.

A possibilidade de ocorrência de log mínimo em uma tabela também poderá depender se a tabela estiver indexada e, nesse caso, se a tabela estiver vazia:

  • Se a tabela não tiver nenhum índice, as páginas de dados terão log mínimo.

  • Se a tabela não tiver nenhum índice clusterizado, mas tiver um ou mais índices não clusterizados, as páginas de dados sempre terão log mínimo. No entanto, a forma como as páginas de índice são registradas depende da tabela:

    • Se a tabela estiver vazia, a páginas de índice terão log mínimo.

    • Se a tabela não estiver vazia, as páginas de índice terão log completo.

      ObservaçãoObservação

      Se você iniciar com uma tabela vazia e importar os dados em massa em vários lotes, para o primeiro lote as páginas de índice e as páginas de dados terão log mínimo, mas começando com o segundo lote, só as páginas de dados terão log mínimo.

  • Se a tabela tiver um índice clusterizado e estiver vazia, ambas as páginas de dados e de índice terão log mínimo. Por outro lado, se uma tabela tiver um índice clusterizado e não estiver vazia, as páginas de dados e as páginas de índice terão log completo seja qual for o modelo de recuperação.

    ObservaçãoObservação

    Se você iniciar com uma tabela vazia e importar os dados em massa em vários lotes, as páginas de índice e as páginas de dados terão log mínimo para o primeiro lote, mas a partir do segundo lote, apenas as páginas de dados terão bulk-logged.

Para obter mais informações, inclusive um resumo de bloqueio de tabela e comportamento de registro durante a importação em massa, consulte Otimizando o desempenho de importação em massa.

ObservaçãoObservação

Quando a replicação transacional estiver habilitada, as operações BULK INSERT são totalmente registradas mesmo no modelo de recuperação Bulk Logged.

Práticas recomendadas   Quando você usar recuperação de log em massa para importar um conjunto grande de linhas de tabela, considere distribuir as importações em massa entre vários lotes. Cada lote equaciona uma transação. Assim, quando um lote for completado, seu log ficará disponível para backup. O próximo backup de log recuperará o espaço de log que será usado para fazer a importação em massa daquele lote de linhas.