Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Para um banco de dados no modelo de recuperação completo, todas as operações de inserção de linhas realizadas por importação em massa são totalmente registradas no log de transações. Importações de grandes volumes de dados 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çã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.
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 replicada.
O bloqueio da tabela é especificado (usando
TABLOCK).Observação
Embora as inserções de dados não sejam registradas no log de transações durante uma operação de importação em massa minimamente registrada, o Mecanismo de Banco de Dados ainda registra alocações de extensão sempre que uma nova extensão é alocada para a tabela.
A tabela não é uma tabela com otimização de memória.
A possibilidade de ocorrência de registro mínimo em uma tabela também depende de a tabela ter índices e, em caso afirmativo, de a tabela estar vazia:
Se a tabela não tiver índices, as páginas de dados serão registradas minimamente no log.
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 de a tabela estar vazia:
Se a tabela estiver vazia, as páginas de índice são minimamente registradas no log. Se você começar com uma tabela vazia e fizer uma importação em massa dos dados em vários lotes, tanto as páginas de índice quanto as páginas de dados serão registradas minimamente no log no primeiro lote, mas, a partir do segundo lote, somente as páginas de dados serão registradas minimamente no log.
Se a tabela não estiver vazia, as páginas de índice são totalmente registradas no log.
Se um dos índices tiver
IGNORE_DUP_KEY = ON, as páginas de índice e de dados serão totalmente registradas.
Se a tabela tiver um índice agrupado e estiver vazia, tanto as páginas de dados quanto as de índice serão registradas minimamente no log. Por outro lado, se uma tabela tiver um índice clusterizado baseado na árvore B e não estiver vazia, as páginas de dados e as páginas de índice terão um log completo, independentemente do modelo de recuperação. Se você começar com uma tabela rowstore vazia e importar em massa os dados em lotes, as páginas de índice e de dados serão minimamente registradas para o primeiro lote, mas do segundo lote em diante, somente as páginas de dados serão registradas em massa.
Observação
A documentação usa o termo árvore B geralmente em referência a índices. Em índices de rowstore, o Mecanismo de Banco de Dados implementa uma árvore B+. Isso não se aplica a índices columnstore ou a índices em tabelas otimizadas para memória. Para obter mais informações, confira o Guia de arquitetura e design do índice do SQL Server e SQL do Azure.
Para obter informações sobre como registrar em log um CCI (índice columnstore clusterizado), consulte Diretrizes de carregamento de dados de índice columnstore.
Observação
Quando a replicação transacional está habilitada, as operações BULK INSERT são totalmente registradas em log mesmo no modelo de recuperação bulk-logged.
Tarefas relacionadas
- Modelos de recuperação (SQL Server)
- Utilitário bcp
- BULK INSERT (Transact-SQL)
- OPENROWSET (Transact-SQL)
- BACKUP (Transact-SQL)
- ALTER DATABASE (Transact-SQL)
- Dicas de tabela (Transact-SQL)
- INSERT (Transact-SQL)