none
MSSQL2000 : Como descobrir quem dispara select contra determinada base? RRS feed

  • Pergunta

  • Olá Pessoal,

    Estamos em um investigação no em um banco de dados dentro de uma instancia SQL 2000 aqui da empresa e já possuímosum trigger que registra todas as transações que fizeram update, delete ou insert neste banco porém agora precisamos descobrir também quem apenas faz consulta na base. Visto que uma trigger não é capaz de fazer isso. Qual seria a melhor maneira ( e sem consumir muito o servidor ) para rastrear essas consultas?

    Desde já agradeço,

    Justo Daniel 

    MCTS/MCDST/MCP

    terça-feira, 26 de novembro de 2013 12:18

Respostas

Todas as Respostas

  • Boa tarde,

    Você pode usar o profiler, com ele é possível capturar tudo o que está acontecendo na sua instância, inclusive os usuários que estão executando os comandos.

    Dê uma olhada nesses links:

    http://technet.microsoft.com/pt-br/library/ms181091.aspx

    http://msdn.microsoft.com/pt-br/library/cc580638.aspx

    Caso não consiga usar a ferramenta posta aí que ajudamos você.

    • Marcado como Resposta Justo_Daniel quarta-feira, 27 de novembro de 2013 17:15
    terça-feira, 26 de novembro de 2013 14:11
  • Wellington,

    Boa Tarde.

    É uma ideia valida porém preciso que isso seja feito durante 1 mês inteiro e para usar o profile teria que deixar o mesmo rodando 24:00 e teria que apagar os arquivos do dia seguinte para não estourar o disco do servidor. Teria que ser controlado por um job também. Farei teste pois o profile muitas vezes no 2000 impacta na perfomance do servidor.

    Alguma outro boa ideia?

    Justo Daniel 

    MCTS/MCDST/MCP

    terça-feira, 26 de novembro de 2013 16:03
  • Impacta se vc rastrear todos os eventos... O profiler foi feito de maneira a criar filtros para algo especifico. Por exemplo, vc precisa logar todas as consultas feitas em todas as tabelas? Creio que nao... Filtre as tabelas criticas, como Clientes, Ordens de vendas... O profiler nao vai afetar a performance pois ele somente intercepta o que é enviado para o servidor.

    Agora se a maquina  muito antiga e o disco  lento, ai sim pode haver uma diminuçao de performance. Neste caso eu nao vejo nenhuma outra soluçao que seja mais leve. Posso grantir que um trigger é bem mais pesado em termos de processamento que o profiler.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    terça-feira, 26 de novembro de 2013 16:21
  • Boa tarde Justo_Daniel,

    Acho que é válido o que o William disse, filtre apenas aquilo que realmente seja necessário, e aí você monitora seu servidor pra ver como fica a performance, mas com certeza o profiler causará menos impacto do que uma trigger.  Não consigo pensar em outra alternativa melhor, talvez outros colegas tenham e possam nos ajudar.

    terça-feira, 26 de novembro de 2013 17:12
  • Olá Senhores,

    Apenas para fechar o assunto. Como dizia a ideia do Wellington realmente foi muito valida. Apenas estava mesmo querendo saber quais as outras opções no SQL2000. Porém já estamos na faze de aprovações da Change onde iriei implementar o job que contralará esse trace. Obrigado pela ajuda.

    Justo Daniel 

    MCTS/MCDST/MCP

    quarta-feira, 27 de novembro de 2013 17:15