• Imprimir

Me fizeram uma pergunta...

Queremos gerenciar a quantidade de usuários conectados no meu banco tal.

 

Bem vamos lá.

O que o usuário queria era ter um controle de como estão as requisições a um determinado banco.

 

O que é bem diferente.

Pois podemos ter um único usuário que é utilizado por várias pessoas futucando o meu pobre banquinho.

Isto gera uma porção de connections ao meu banco.

 

Primeiro passo :

                 Descobri aonde descubro os bancos e seus processos

 

                               -- Lembra do sys.sysprocesses pois bem ai esta ele

                               -- Para facilitar nossa vida sempre podemos contar com DB_NAME

                               -- https://technet.microsoft.com/en-us/library/aa258270(v=sql.80).aspx ( vai estudar o...)

                               select DB_NAME ( dbid ) as banco ,* from sys.sysprocesses

 

Segundo passo  :

                                Descobri o número de registros referentes ao nosso banco

                               -- Vejo todos

                               select DB_NAME ( dbid ) as banco ,* from sys.sysprocesses where DB_NAME ( dbid )='Nome do Banco'

                               -- Somo a Bagaça

                               select COUNT(*) from sys.sysprocesses where DB_NAME ( dbid )='Nome do Banco'

 

 

Terceiro passo :

                               Pegadinha do malandro não tem terceiro passo ( hahaha )

 

                               -- Está bom não confia no que eu disse então roda ai.

SELECT 

    DB_NAME ( dbid )  as DBName ,

    COUNT ( dbid )  as NumberOfConnections ,

    loginame as LoginName

 FROM

    sys . sysprocesses

 -- WHERE dbid >  0 and DB_NAME ( dbid )='Nome do Banco'

GROUP  BY 

 

    dbid , loginame