none
Número de conexões que realmente temos no SQL Server RRS feed

  • Pergunta

  • Olá DBAs,

    Estamos com o seguinte cenário por aqui.

    Temos em fase de negociação para renovar o número de licenças que temos no SQL e precisamos decidir qual seria a melhor opção de licençamento se por CAL ou por processador. Porém queremos calcular primeiramente a real quantidade de conexões que temos para ter um número exato de conexões para ver se realmente uma licença por CAL seria a mais a adequada.

    Minha ideia é coletar como contadores no perfomon as conexões que estão no SQL e no fim do mês fazer ver qual é o número mais de conexões teve para assim saber quantas licenças no máximo precisariamos. Porém como exportar essa informação do perfomon? eu visualizo no grafico no exato instante que o grafico é produzido porém é possivel ficar exportando essa informação para um arquivo ou mesmo uma tabela para que eu possar armazenar a informação para informações futuras?

    Existem uma maneira mais eficiente para descobrir esse número real de conexão?

    Desde é agradeço muito a ajuda de você,

    Justo Daniel,

    MCP-MCDST-MCTS SQL Server 2008

    sexta-feira, 12 de abril de 2013 18:45

Respostas

Todas as Respostas

  • Fala Daniel, bom dia.

    Este link mostra passo a passo como se faz para colocar o Perfmon para coletar dados em um arquivo TXT:

    http://technet.microsoft.com/pt-br/library/cc722414(v=ws.10).aspx

    Utilize o contador SQL Server:General Statistics\User Connections

    Se ficou alguma dúvida é só falar! Se resolveu, por favor, colabore com o fórum e classifique.

    Abs!



    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    segunda-feira, 15 de abril de 2013 14:39
    Moderador
  • Daniel, pq vc não cria uma procedure que dispara em dado intervalo de tempo, que popula uma tabela com o seguinte select:

    SELECT DB_NAME(dbid)as 'Banco de Dados',
    COUNT(dbid) as 'Nº de Conexões',
    loginame as 'Nome do Login'
    FROM sys.sysprocesses
    WHERE dbid > 0 GROUP BY dbid, loginame

    vc pode criar uma coluna ainda na tabela com um campo current_timestamp para saber exatamente quando foi coletado o dado.

    FLW.

    terça-feira, 16 de abril de 2013 19:45
  • Daniel, pq vc não cria uma procedure que dispara em dado intervalo de tempo, que popula uma tabela com o seguinte select:

    SELECT DB_NAME(dbid)as 'Banco de Dados',
    COUNT(dbid) as 'Nº de Conexões',
    loginame as 'Nome do Login'
    FROM sys.sysprocesses
    WHERE dbid > 0 GROUP BY dbid, loginame

    vc pode criar uma coluna ainda na tabela com um campo current_timestamp para saber exatamente quando foi coletado o dado.

    FLW.

    Aí na verdade terá uma lista de processos, inclusive do sistema, não de usuários conectados, certo? 

    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    terça-feira, 16 de abril de 2013 19:52
    Moderador
  • A lista traz apenas os usuários de banco de dados conectados na instância em questão.
    terça-feira, 16 de abril de 2013 20:07
  • Fala Daniel, conseguimos te ajudar?

    Se positivo, por favor, marque as respostas. 

    Verifique com o vendedor do SQL se as conexões de sistema são contadas nas CALs, caso contrário, coloque um WHERE SPID >50 and dbid > 0 GROUP BY dbid, loginame.

    Abs!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    quarta-feira, 17 de abril de 2013 16:44
    Moderador
  • Olá Daniel,

    A questão de licenciamento é muito simples. Quantos usuários vc tem na sua empresa que precisam acessar o SQL Server ? Com base na sua resposta é o numero de CAL's. Dependendo a aplicação, a mesma pode abrir varias conexões com banco de dados e criar um pool, ou seja, você não terá o numero exato de usuários conectados.

    Se a resposta foi util, classifique-a


    Att,
    Marcos Freccia [MTA|MCTS|MCITP|MCT SQL Server 2008]
    Blog|Twitter
    Assine também os feeds clicando aqui

    quinta-feira, 18 de abril de 2013 23:50
  • Senhores,

    Obrigado testarei as resposta esse fim de semana e darei o retorno na segunda feira avaliando também as resposta certas com certeza. Desde já obrigado o apoio que esta comunidade sempre me dá.

    Att,

    Justo Daniel,

    MCP-MCDST-MCTS SQL Server 2008

    sexta-feira, 19 de abril de 2013 19:25
  • Valeu Daniel, aguardamos seu retorno, abs!

    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    sexta-feira, 19 de abril de 2013 19:35
    Moderador
  • Senhores,

    Obrigado testarei as resposta esse fim de semana e darei o retorno na segunda feira avaliando também as resposta certas com certeza. Desde já obrigado o apoio que esta comunidade sempre me dá.

    Att,

    Justo Daniel,

    MCP-MCDST-MCTS SQL Server 2008

    Fala Daniel, blz?

    Conta pra gente como foi a definição das licenças?

    Abs!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    segunda-feira, 29 de abril de 2013 01:00
    Moderador
  • Senhores,

    Obrigado testarei as resposta esse fim de semana e darei o retorno na segunda feira avaliando também as resposta certas com certeza. Desde já obrigado o apoio que esta comunidade sempre me dá.

    Att,

    Justo Daniel,

    MCP-MCDST-MCTS SQL Server 2008

    Fala Daniel, blz?

    Conta pra gente como foi a definição das licenças?

    Abs!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    Fala Daniel, por favor, colabore com o fórum e conta pra gente como ficou.

    Obrigado.


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    quinta-feira, 9 de maio de 2013 02:13
    Moderador
  • Olá Luis,

     Sim, sua dica foi muito util. construi um job que dispara um select do servidor como base o que você indicou com a diferença de ter adicionado um distinct para que o select não contasse o mesmo login repetitivas vezes e a cada minuto ele insere em uma tabela de administração nossa. Depois disparamos um select para verificar qual o número máximo de conexões e usamos esse valor para saber qual a quantidade de licensas que temos. A ideia esta sendo avaliada pela gerencia. Assim que tivermos a resposta posto o resultados.
     Desculpe a demora em responder com a correria do trabalho e os estudos fiquem um tempo sem acessar o forum.
     
     Fiquei na dúvida sobre os CAL no seguinte quisito: se eu compro 300 CALs e tem 450 usuários mas tenho no maximo 300 ao mesmo tempo, estão dentro do meu limite de sistema? ou se um usuario acessa apenas 1 vez por mês o SQL ele precisa ter a licensa? Não sei se consegui expressar bem minha pergunta. Mas as licensas em CAL funcionam como um central telefonica que você tem 500 conexoes se uma das conexões vagas ela pode ser utilizada por outra pessoa? ou os CAL são nomeadas.

    Att,

    Justo Daniel,

    MCP-MCDST-MCTS SQL Server 2008

    terça-feira, 4 de junho de 2013 19:02