none
CONEXÕES ABERTAS NO SQL SERVER 2008 RRS feed

  • Pergunta

  • Senhores, estou querendo saber o numero exato de conexões no sql server a um determidado BANCO DE DADOS, pois as consultas que eu faço não me traz o nome do banco dessa forma não consigo diferenciar as conexões por base de dados.

    Grato,

    Felipe Holand Ribeiro

    DBA Sql server

    quarta-feira, 27 de fevereiro de 2013 14:17

Respostas

  • Felipe,

    sp_who é uma procedure, por isso não consegue usar o where. Você pode popular uma tabela com o resultado dela, dae usar o where.

    ex.

    declare @myConTable table
    (
    spid smallint,
    ecid smallint,
    status nchar(30),
    loginname nchar(128),
    hostname nchar(128),
    blk char(5),
    dbname nchar(128),
    cmd nchar(16),
    request_id int
    )
    
    
    insert into @myConTable exec sp_who
    
    select * from @myConTable ----- where ....


    Abs.

    quarta-feira, 27 de fevereiro de 2013 16:22

Todas as Respostas

  • Felipe,

    Pelo comando abaixo voce consegue tais informações.

    EXEC

    sp_who2

    Ou pela DMV:

    SELECT

    *

    FROM

    sys.dm_exec_connections


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com


    quarta-feira, 27 de fevereiro de 2013 14:18
    Moderador
  • Bom dia Obrigado Fabrizzio, mais os numeros das duas consultas não retornam a mesma coisa, e na sp_whow não consigo usar o where?
    quarta-feira, 27 de fevereiro de 2013 14:50
  • Felipe,

    sp_who é uma procedure, por isso não consegue usar o where. Você pode popular uma tabela com o resultado dela, dae usar o where.

    ex.

    declare @myConTable table
    (
    spid smallint,
    ecid smallint,
    status nchar(30),
    loginname nchar(128),
    hostname nchar(128),
    blk char(5),
    dbname nchar(128),
    cmd nchar(16),
    request_id int
    )
    
    
    insert into @myConTable exec sp_who
    
    select * from @myConTable ----- where ....


    Abs.

    quarta-feira, 27 de fevereiro de 2013 16:22
  • Felipe,

    Não consegue não, pois é uma procedure.

    Não retornam a mesma coisa pois o sp_who2 traz tambem os SPID de sistema que normalmente são até o 50 (podendo ser mais), e os outros são de usuarios enquanto que a DMV traz apenas os usuarios.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 27 de fevereiro de 2013 16:26
    Moderador
  • Boa tarde, senhores obrigado pelas respostas, a DMV seria ideal mais ela não me diz qual o banco, a consulta andrei ajudou bastante.

    Com essas informações tenho uma noção de quantos usuários estão logado. obrigado.

    Felipe Holanda

    @felipeh_ribeiro

    quarta-feira, 27 de fevereiro de 2013 16:57