none
Pegar o nome da estação do cliente conectado utilizando o IP do mesmo. RRS feed

  • Discussão Geral

  • Meus caros, feliz ano novo a todos.

    Estou com um desafio pela frente e preciso da ajuda dos colegas, com base no script abaixo:

    SELECT  distinct 
    	ec.client_net_address		
    ,	es.program_name
    ,	es.host_name
    ,       es.login_name
    ,	max(ec.session_id) 
    FROM    sys.dm_exec_sessions AS es INNER JOIN sys.dm_exec_connections AS ec
    				   ON es.session_id = ec.session_id
    WHERE   es.host_name <> 'SVERP03'	
    GROUP   BY ec.client_net_address		
    ,	   es.program_name
    ,	   es.host_name
    ,	   es.login_name

    Preciso acrescentar a coluna com o nome da estação conectada ao SQL Server correspondente ao IP listado conforme imagem abaixo.

    A ideia é criar uma coluna antes da program_name com o nome station_name ou preencher a coluna host_name com o nome da estação correspondente ao IP.

    Desde já agradeço a ajuda de todos.

    Obrigado.

    Tadeu.

    • Tipo Alterado Marcos SJ quarta-feira, 30 de dezembro de 2015 19:45 Todas as threads de "How to" serão modificadas para discussão geral
    quarta-feira, 30 de dezembro de 2015 17:40

Todas as Respostas

  • Trinit,

    Tente utilizar a tabela de sistema sys.sysprocesses utilizando a coluna hostname.

    Referências: 

    https://msdn.microsoft.com/pt-br/library/ms179881(v=sql.120).aspx

    https://pedrogalvaojunior.wordpress.com/2007/10/31/utilize-a-system-table-sysprocesses/

    domingo, 3 de janeiro de 2016 05:57
  • Bom dia, obrigado por sua ajuda mas ainda sim não consegui, pois não encontrei uma maneira de relacionar as tabela sys.sysprocesses com as demais.

    Tentei pelo campo net_address mas não deu certo pq o conteudo do campo client_net_address da tabela sys.dm_exec_connections é diferente co campo net_address da tabela sys.sysprocesses.

    Também tentei pelos campo session_id e mas não encontrei o campo correspondente na sys.processes.

    Continuo no aguardo de ajuda.

    Obrigado.


    sys.dm_exec_connections.
    client_net_address

    segunda-feira, 4 de janeiro de 2016 12:22
  • Trinit,

    Você pode relacionar o campo session_id da DMV sys.dm_exec_sessions com o campo spid da tabela de sistema sys.sysprocesses.

    segunda-feira, 4 de janeiro de 2016 13:32
  • Trinit,

    Você pode relacionar o campo session_id da DMV sys.dm_exec_sessions com o campo spid da tabela de sistema sys.sysprocesses.

    Trinit,

    Concordo com a sugestão do FLauffer!!!


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 5 de janeiro de 2016 14:39