Compartilhar via


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

Operações de índice em grande escala podem gerar grandes cargas de dados que podem fazer com que o log de transações seja preenchido rapidamente. Para garantir que a operação de índice possa ser revertida, o log de transações não pode ser truncado até que a operação de índice seja concluída; no entanto, o log pode ser salvo em backup durante a operação de índice. Portanto, o log de transações deve ter espaço suficiente para armazenar as transações de operação de índice e quaisquer transações de usuário simultâneas durante a operação de índice. Isso é verdadeiro 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

Ao executar operações de índice em larga escala, considere as seguintes recomendações:

  1. Verifique se foi feito o backup e truncado o log de transações antes de executar operações online de índice em larga escala e se o log tem espaço suficiente para armazenar o índice projetado, além das transações do usuário.

  2. Considere definir a opção SORT_IN_TEMPDB como ON para a operação de índice. Isso separa as transações de índice das transações de usuário simultâneas. As transações de índice serão armazenadas no log de transações tempdb e as transações de usuário simultâneas serã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 log tempdb 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 banco de dados tempdb e o log de transações têm espaço em disco suficiente para lidar com a operação de índice. O log de transações tempdb 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 em log mínimo da operação de índice. Isso pode reduzir o tamanho do log e impedir que o log preencha o espaço destinado a ele.

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

Requisitos de espaço em disco para operações DDL de índice

Exemplo de espaço de disco de índice