Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Para um banco de dados sob o modelo de recuperação completa, todas as operações de inserção de linha executadas por importação em massa são totalmente registradas no log de transações. Grandes importações de dados podem fazer com que o log de transações seja preenchido 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 registro mínimo de operações de importação em massa reduz a possibilidade de que uma operação de importação em massa preencha o espaço de log. O registro mínimo também é mais eficiente do que o registro completo.
Observação
O modelo de recuperação bulk-logged foi projetado para substituir temporariamente o modelo de recuperação completa durante grandes operações em massa.
Requisitos de tabela para operações de importação em massa de registro 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 de 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 cada vez que uma nova extensão é alocada à tabela.
A tabela não é uma tabela com otimização de memória.
Se o log mínimo pode ocorrer para uma tabela também depende se a tabela está indexada e, em caso afirmativo, se a tabela está vazia:
Se a tabela não tiver índices, as páginas de dados serão minimamente registradas.
Se a tabela não tiver nenhum índice clusterizado, mas tiver um ou mais índices não clusterizados, as páginas de dados serão sempre minimamente registradas. No entanto, a forma como as páginas de índice são registadas depende se a tabela está vazia:
Se a tabela estiver vazia, as páginas de índice serão minimamente registradas. Se você começar com uma tabela vazia e importar em massa os dados em vários lotes, as páginas de índice e de dados serão minimamente registradas para o primeiro lote, mas a partir do segundo lote, apenas as páginas de dados serão minimamente registradas.
Se a tabela não estiver vazia, as páginas de índice serão totalmente registradas.
Se um dos índices tiver
IGNORE_DUP_KEY = ON, as páginas de índice e dados serão totalmente registradas.
Se a tabela tiver um índice clusterizado e estiver vazia, os dados e as páginas de índice serão minimamente registrados. Por outro lado, se uma tabela tiver um índice clusterizado baseado em árvore B e não estiver vazia, as páginas de dados e as páginas de índice serão totalmente registradas, independentemente do modelo de recuperação. Se você começar com uma tabela de armazenamento de linhas 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 a partir do segundo lote, apenas 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 armazenamento em linha, o Mecanismo de Base de Dados implementa uma árvore B+. Isso não se aplica a índices de armazenamento em colunas ou a índices em tabelas com otimização de memória. Para obter mais informações, consulte o guia de arquitetura e design de índices do SQL Server e Azure SQL .
Para obter informações sobre o registro em log de um índice columnstore (CCI) clusterizado, consulte Diretrizes de carregamento de dados do índice Columnstore.
Observação
Quando a replicação transacional está habilitada, as operações são totalmente registradas, BULK INSERT mesmo sob o modelo de recuperação de log em massa.
Tarefas relacionadas
- Modelos de recuperação (SQL Server)
- Utilitário bcp
- INSERÇÃO EM MASSA (Transact-SQL)
- OPENROWSET (Transact-SQL)
- CÓPIA DE SEGURANÇA (Transact-SQL)
- ALTERAR BASE DE DADOS (Transact-SQL)
- Dicas de mesa (Transact-SQL)
- INSERIR (Transact-SQL)