none
Monitoramento RRS feed

  • Pergunta

  • Olá Pessoal,

    Existe alguma outra ferramenta do SQL Server (fora SQL Server Profiler) que possa utilizar para saber quem está acesso ao servidor de banco de dados, o que está fazendo, se é interno ou externo, e mais outras coisas?

    Estou desconfiando que existe alguém utilitzando um tal login, porém o mesmo é utilizado para trazer registros de várias aplicações..

    já pensei em triggers, mas não sei se seria uma boa idéia.

    Lembrando que utilizando SQL Server 2005.

    sexta-feira, 26 de agosto de 2011 14:43

Respostas

  • Boa Noite,

    O Profiler é muito ruim para esse objetivo. Você teria que deixá-lo aberto eternamente e aí não seria viável. Ele é uma ferramenta para Troubleshooting normalmente, mas não para monitoramento. Você poderia avaliar o uso do SQL Trace (que faz algo semelhante ao Profiler só que em background). Ou se preferir dê uma olhadinha no Default Trace.

    Opcionalmente avalie uma ferramenta de terceiro ou uma migração para usar as features do SQL Server 2008.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Richard Juhasz terça-feira, 3 de janeiro de 2012 17:57
    segunda-feira, 29 de agosto de 2011 23:25

Todas as Respostas

  • Just,

     

    Voce quer saber basciamente todas as atividades de um login, e dentre elas, encontrar alguma suspeita é isso?


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 26 de agosto de 2011 14:58
    Moderador
  • correto.
    sexta-feira, 26 de agosto de 2011 15:26
  • Just,

     

    infelizmente não vejo realmente muitas opções, a ferramenta que voce utilizaria para isso é o SQL Serer profiler, se fosse sql server 2008 poderiamos utilizar o audit nativo, porem o mesmo não mostraria dados alterados por exemplo, e uma trigger de logon só mostrara o logon e não o que ele esta fazendo.

    As opções seriam então ou um profiler ou um trace em backup groud (Que acabam sendo bem parecidos...)


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 26 de agosto de 2011 17:02
    Moderador
  • mas fora essas duas, você conhece outra?

    eu desconfio de alguém que esteja acessando minha instância, e gostaria de saber quem é, e o que está fazendo..

    sexta-feira, 26 de agosto de 2011 17:25
  • Just

    se vc sabe quem é o usuário consulte as dmvs..

    select c.session_id, login_time, host_name, program_name, s.original_login_name, net_transport, protocol_type, client_net_address
    ,t.*
     from sys.dm_exec_sessions s inner join sys.dm_exec_connections c on s.session_id = c.session_id
     inner join sys.dm_exec_requests r on s.session_id=r.session_id
     cross apply sys.dm_exec_sql_text(r.sql_handle) t
     WHERE s.original_login_name = 'SA'
    

     


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    sexta-feira, 26 de agosto de 2011 18:35
    Moderador
  • Marcelo,


    Sei sim quem é o usuário, agora com esse comando eu teria a possibilidade de identificar o que o mesmo está fazendo, que horas está se conectando, e outros? Eu informei o comando, porém o SQL Server não me retornou nada...



    sexta-feira, 26 de agosto de 2011 19:12
  • Just

    ele vai retornar estas informações, mas como estamos usando o cross apply a compatibilidade do banco tem que estar no mínimo em 90

    e o filtro no usuário, no caso eu coloquei o SA, se for login do SQL basta informar o login, se for login Windows informe com o domínio  ex. 'starwars\R2D2'


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    sexta-feira, 26 de agosto de 2011 19:31
    Moderador
  • pois é, eu informei o usuário que utilizam para logar e utilizar as coisas do banco, mas mesmo assim não me retornou nada, e além disso, existe banco de dados 80, 90.... :(
    sexta-feira, 26 de agosto de 2011 19:51
  • 80 vai dar pau...

    mas para vc visualizar o dado o cara tem que estar conectado...

    Mas o Profiler pode monitorar o que vc quer... filtre pelo nome do usuário


    Att.
    Marcelo Fernandes

    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    sexta-feira, 26 de agosto de 2011 20:08
    Moderador
  • Pois é, ja fiz isso, porém existe diversos processos sendo executados pelo mesmo.

    Esses processos é uma ponte de uma aplicação que tras os dados do banco de dados.

    O problema é, será que é só a aplicação que utiliza o usuário para isso? ou alguém está utilizando o login tal para acessar...

    sexta-feira, 26 de agosto de 2011 20:16
  • Boa Noite,

    O Profiler é muito ruim para esse objetivo. Você teria que deixá-lo aberto eternamente e aí não seria viável. Ele é uma ferramenta para Troubleshooting normalmente, mas não para monitoramento. Você poderia avaliar o uso do SQL Trace (que faz algo semelhante ao Profiler só que em background). Ou se preferir dê uma olhadinha no Default Trace.

    Opcionalmente avalie uma ferramenta de terceiro ou uma migração para usar as features do SQL Server 2008.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Richard Juhasz terça-feira, 3 de janeiro de 2012 17:57
    segunda-feira, 29 de agosto de 2011 23:25