Alguém estava executando uma consulta em nosso banco de dados SQL Server remotamente e seu sistema travou.
Eles não têm backup dessa consulta e desejam ver o que foi executado no servidor.
É possível encontrar esta consulta em um log ou em um histórico em algum lugar?
sql-server
logs
user87094
fonte
fonte
Respostas:
Grant Fritchey semelhante teve o problema em que ele fechou o SSMS e perdeu a consulta em que estava trabalhando ... escreveu sobre o blog por aqui: Oh **********!
EDITAR
Para tornar isso um pouco mais detalhado de uma resposta, o Grant acima mencionado fornece uma consulta para simplesmente acessar o cache da instância e retirar a consulta que você acabou de executar (ou pelo menos tentar):
Mais algumas opções que foram observadas nos comentários do blog de Grant:
fonte
2005+, rastreio padrão para o resgate.
O rastreamento padrão passa para 20mb, mas o SQL mantém o histórico de 5 rastreamentos. Com acesso ao servidor, você pode recuperar os arquivos * .trc do diretório MSSQL \ Log. Se você não puder acessar o servidor, o seguinte fornecerá o nome do arquivo de rastreamento padrão atual:
Se o arquivo atual for, por exemplo, E: \ MSSQL.1 \ MSSQL \ LOG \ log_200.trc, os arquivos anteriores deverão ser log_199.trc, log_198.trc etc. Obtenha o conteúdo do rastreamento com:
fonte
Você pode recuperar informações de planos de consulta em cache, verificar BOL para obter informações sobre sys.dm_exec_query_stats ou executá-lo no estúdio de gerenciamento conectado ao mesmo banco de dados:
Filtre a saída com
para restringir os resultados.
fonte
Se o banco de dados estava no modo de recuperação total, pode haver uma chance de recuperar alguns dados e obter informações sobre o que foi feito lendo o log de transações.
Infelizmente, isso não é suportado por padrão, mas existem maneiras de fazer isso.
Você pode tentar usar ferramentas de terceiros, como ApexSQL Log ou SQL Log Rescue (gratuito, mas apenas para o SQL 2000).
Outra opção é tentar usar as funções não documentadas DBCC LOG ou fn_dblog. Isso é mais complexo, mas é gratuito.
fonte
Se o seu banco de dados estiver definido para o modelo de recuperação completa, você poderá investigar os backups do log de transações. Veja
fn_dump_dblog
para mais informações.fonte
O ApexSQL possui a funcionalidade 'Consultas executadas', que permite pesquisar e filtrar por data.
Não tenho certeza se ele extrai o histórico do cache do SSMS ou realmente o acompanha sozinho. Você pode tentar instalá-lo e esperar o melhor.
fonte