Partilhar via


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

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Operações de índice de 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, é possível fazer backup do log 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 é 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 on-line não impedem a atividade simultânea do usuário, portanto, operações de índice on-line em grande escala combinadas com transações simultâneas significativas do usuário podem causar crescimento contínuo do log de transações sem uma opção para truncar o log.

Recommendations

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

  1. Verifique se o backup do log de transações foi feito e truncado antes de executar operações de índice de grande escala on-line e se o log tem espaço suficiente para armazenar o índice projetado e as transações do usuário.

  2. Considere definir a SORT_IN_TEMPDB opção para ON para a realização da operação de índice. Isso separa 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 de usuários. 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 banco de dados e o log de transações tempdb dispõem de espaço em disco suficiente para realizar a operação de indexação. 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 ocupe todo o espaço disponível.

  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.