Fui notificado de que a unidade de log de transações de uma instância SQL que gerencio está sendo preenchida. Comecei, descobri qual log de transações estava crescendo e fui ver por que o tlog estava crescendo. Olhando para sys.databases, a descrição de reutilização de log era active_transaction. Não é grande coisa, imaginei que poderia dar uma olhada e encontrar a sessão que executa a transação no banco de dados e descobrir os próximos passos. Este é um banco de dados de desenvolvimento, então presumi que um desenvolvedor deixou uma transação aberta e eu só precisaria entrar em contato e fechar a transação.
Agora vamos às coisas estranhas. Usei DBCC OPENTRAN para encontrar a transação aberta mais antiga no banco de dados, há duas curiosidades na saída.
- O ID da sessão está listado como 53s, nunca vi um ID de sessão com uma letra,
- O horário de início da transação é a partir de 03/11/2023, mas o servidor foi reiniciado em 06/11/2023.
Acho que posso colocar o banco de dados no modo de usuário único com reversão imediata e depois voltar ao modo multiusuário, e isso resolverá o problema. Estou adiando isso por enquanto, porque não entendo o que aconteceu, ou como e diabos as coisas acabaram assim.
O "s" indica que este é um thread/spid do sistema. Você precisará verificar o que esse spid está fazendo pelos meios usuais. Se for um thread do sistema, provavelmente está fazendo algo relacionado/interno ao sistema.
Isso é altamente suspeito, não estou dizendo que você esteja errado , só estou dizendo que parece bastante estranho. Como atualmente não sabemos o que está fazendo, é difícil dizer mais alguma coisa.
Isso pode ou não ser útil, novamente, já que não sabemos o que aquele aranha está fazendo. Precisaríamos de mais informações.