none
Fechamento de uma Sessão RRS feed

  • Pergunta

  • Alguém sabe como posso identificar que uma sessão SQLSERVER foi Encerrada, ou seja quando um @@SPID deixa de existir?
    segunda-feira, 25 de novembro de 2013 10:53

Respostas

  • SELECT sess.session_id,
                sess
    .login_time,
                sess
    .original_login_name,
                sess
    .login_name,
                sess
    .host_name,
                sess
    .program_name
    FROM sys.dm_exec_sessions sess Inner JOIN sys.dm_exec_connections conn
                                                              
    ON sess.session_id = conn.session_id
    WHERE program_name = 'Microsoft SQL Server Management Studio'
    sexta-feira, 29 de novembro de 2013 14:51

Todas as Respostas

  • Bom dia, Jovem.

    Acredito que pelo spid e o login_time seja possível.

    use master

    go

    while exists( select spid, login_time,* from sysprocesses where spid = 57 -- amarrar o SPID do seu processo and login_time = '2013-11-25 08:50:24.257' -- amarrar o login_time do processo. ) begin print 'Em processamento - '+ convert(varchar,getdate()) waitfor delay '00:00:05' end print 'Processo Finalizado - '+ convert(varchar,getdate())


    Em caso de esclarecimentos,à disposição. (Y)


    segunda-feira, 25 de novembro de 2013 12:02
  • Olá Marcelo.

    Infelizmente não é isso que procuro pois o atributo login_time tem a data de login.

    Preciso descobrir quando o processo deixou de existir. Isso pode ser através de um "status".

    segunda-feira, 25 de novembro de 2013 18:57
  • M.Rodrigues,

    Talvez a solução esteja em utilizar as DMVs: Sys.dm_exec_sessions, sys.dm_exec_connections, veja um exemplo abaixo:

    SELECT sess.session_id, 
                sess.login_time, 
                sess.original_login_name, 
                sess.login_name, 
                sess.host_name, 
                sess.program_name 
     FROM sys.dm_exec_sessions sess Inner JOIN sys.dm_exec_connections conn 
                                                               ON sess.session_id = conn.session_id
    WHERE program_name = 'Microsoft SQL Server Management Studio'
    



    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 29 de novembro de 2013 14:29
    Moderador
  • SELECT sess.session_id,
                sess
    .login_time,
                sess
    .original_login_name,
                sess
    .login_name,
                sess
    .host_name,
                sess
    .program_name
    FROM sys.dm_exec_sessions sess Inner JOIN sys.dm_exec_connections conn
                                                              
    ON sess.session_id = conn.session_id
    WHERE program_name = 'Microsoft SQL Server Management Studio'
    sexta-feira, 29 de novembro de 2013 14:51