Compartilhar via


Espaço em disco do log de transações para operações de índice

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Operações de índice de larga escala podem gerar grandes carregamentos de dados que podem fazer com que o log da transação seja preenchido rapidamente. Para garantir que a operação de indexação possa ser revertida, o log de transações não poderá ser truncado até que a operação de indexação seja concluída; no entanto, o log pode ser salvo em backup durante a operação de indexação. Portanto, o log de transações deve ter espaço suficiente para armazenar as transações da operação de índice e todas as transações simultâneas de usuário pelo período da operação de índice.

Isso é verdade para operações de índice offline e online. Como as tabelas subjacentes não podem ser acessadas durante uma operação de índice offline, pode haver poucas transações de usuário e o log pode não crescer tão rapidamente. As operações de índice online não impedem a atividade simultânea do usuário, portanto, operações de índice online em larga escala combinadas com transações de usuário simultâneas significativas podem causar um crescimento contínuo do log de transações sem uma opção para truncar o log.

Recomendações

Durante a execução de operações de índice de grande escala, considere estas recomendações:

  1. Certifique-se de que o log de transações está com backup e truncado antes de executar operações de índice de grande escala online, e de que o log tem espaço suficiente para armazenar o índice projetado e as transações de usuário.

  2. Considere configurar a opção SORT_IN_TEMPDB como ON para a operação de índice. Isso separará as transações de índice das transações de usuário simultâneas. As transações de índice são armazenadas no tempdb log de transações, e as transações de usuário simultâneas são armazenadas no log de transações do banco de dados do usuário. Isso permite que o log de transações do banco de dados do usuário seja truncado durante a operação de índice, se necessário. Além disso, se o tempdb log não estiver no mesmo disco que o log do banco de dados do usuário, os dois logs não estarão competindo pelo mesmo espaço em disco.

    Observação

    Verifique se o tempdb banco de dados e o log de transações têm espaço em disco suficiente para lidar com a operação de índice. O tempdb log de transações não pode ser truncado até que a operação de índice seja concluída.

  3. Use um modelo de recuperação de banco de dados que permita o registro mínimo da operação de índice. Isso pode reduzir o tamanho do log e impedir que o log preenncha o espaço de log.

  4. Não execute a operação de índice online em uma transação explícita. O log não é truncado até que a transação explícita termine.