none
Sql Express 2012 e memória RRS feed

  • Pergunta

  • to com uma duvida sobre o sql server express 2012
    eu sei que le pode usar até um giga de memoria
    mas acabei de ver os processos no servidor e ele está usando
    1.6 gigas, com pode isto?
    • Editado jceoms segunda-feira, 18 de maio de 2015 14:20
    segunda-feira, 18 de maio de 2015 14:20

Respostas

Todas as Respostas

  • Deleted
    terça-feira, 19 de maio de 2015 10:19
  • Temos somente uma instancia


    quinta-feira, 28 de maio de 2015 12:32
  • Deleted
    segunda-feira, 8 de junho de 2015 15:15
  • Temos somente uma instancia


    Jceoms,

    Antes de responder, quero afirmar que isto não é necessariamente um problema. Dependendo das configurações de seu servidor, isto pode melhorar a performance das consultas ou tornar mais lento toda sua instância SQL Server.

    Isto porque, por padrão, o SQL Server aumenta o tamanho de seu buffer (cache), ajustando a memória RAM dinamicamente no sistema operacional até o limite configurado. Quando o Gerenciador de buffer do SQL Server não libera a memória, então parte da paginação permanece disponível e o Mecanismo de Banco de Dados desta instância continua à procura de alocar recursos, se possível.

    Outros componentes vinculados ao Mecanismo do Banco de Dados permanecem consumindo recursos de memória e podem influenciar para ultrapassar o limite indicado "apenas" para o Mecanismo de Banco de Dados, tornando a informação no Gerenciador de Tarefas imprecisa. 

    Para obter o valor real consumido por cada recurso da sua instância SQL Server verifique a View de Gerenciamento Dinâmico (DMV) chamada "sys.dm_os_memory_clerks".

    https://technet.microsoft.com/pt-br/library/ms175019%28v=sql.110%29.aspx

    Ele vai listar todos os recursos consumidos pela sua instância SQL. Verifique a memória utilizada no MEMORYCLERK_SQLBUFFERPOOL. Esta DMV é mais fácil de manipular dados do que o comando descontinuado "DBCC MEMORYSTATUS", que poderá ser removido em futuras versões do SQL Server.

    A consulta abaixo vai ajudar a orientar esta análise de consumo:

    SELECT 
    	[type],
    	sum(virtual_memory_reserved_kb) AS VM_Reservada,
    	sum(virtual_memory_committed_kb) AS VM_Committed,
    	sum(pages_kb) as PaginaAlocada
    FROM 
    	sys.dm_os_memory_clerks 
    GROUP BY [type]
    ORDER BY PaginaAlocada DESC, VM_Reservada DESC, VM_Committed DESC
    GO


    Você também poderá analisar o consumo de memória através do 
    Monitor de Desempenho (PerfMon), através dos contadores vinculados ao "SQLServer: Buffer Manager".


    Um ponto importante é verificar se sua instância não está com
    suporte de extensões (AWE) habilitado. Caso esteja habilitado, o "PerfMon" e o Gerenciador de Tarefas podem ser alterados e não devem ser considerados para consumo de memória corretamente.

    Caso tenha receio que a configuração atual esteja impactando a performance de seu servidor, ajuste à configuração "Max Server Memory" de sua instância, para não ultrapassar o limite de 1Gb. Segue abaixo o script T-SQL para esta alteração:

    sp_configure 'show advanced options', '1'
    RECONFIGURE WITH OVERRIDE
    GO
    
    sp_configure 'max server memory (MB)', '1024'
    RECONFIGURE WITH OVERRIDE
    GO
    
    sp_configure 'show advanced options', '0'
    RECONFIGURE WITH OVERRIDE
    GO

    Uma dúvida semelhante à sua foi respondida no Fórum Americano. Segue o link para aprofundar seu conhecimento:

    https://social.msdn.microsoft.com/Forums/en-US/fa61f59a-33cc-4dd6-b889-d093aa143db0/sql-server-express-memory-usage-windows-task-manager-mem-usage-working-set-1-gb?forum=sqldatabaseengine

    Para maiores informações veja:

    https://msdn.microsoft.com/pt-br/dn133176.aspx

    https://support.microsoft.com/pt-br/kb/321363

    https://support.microsoft.com/pt-br/kb/907877

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    segunda-feira, 8 de junho de 2015 18:35
  • obrigado, voce me deu uma aula

    mas o meu sql é o sql express 2012

    e por documentação da ms  usa 1 giga de memória


    • Editado jceoms terça-feira, 9 de junho de 2015 11:10
    terça-feira, 9 de junho de 2015 11:06
  • obrigado, voce me deu uma aula

    mas o meu sql é o sql express 2012

    e por documentação da ms  usa 1 giga de memória


    Jceoms,

    Esta alocação de recursos em buffer e consumo progressivo de memória também se aplica ao SQL Server Express, depende apenas das suas configurações para ultrapassar este limite de 1Gb, mas sempre estará próximo do especificado.

    Como disse no post anterior, isso ocorre não por falhas na alocação de memória, mas por utilização de outros componentes vinculados ao serviço de sua Instância SQL.

    O post abaixo no Fórum Americano fortaleze esta afirmação:

    https://social.msdn.microsoft.com/Forums/en-US/fa61f59a-33cc-4dd6-b889-d093aa143db0/sql-server-express-memory-usage-windows-task-manager-mem-usage-working-set-1-gb?forum=sqldatabaseengine

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    terça-feira, 9 de junho de 2015 11:29
  • eu vou desativar os serviços

    de reporting service e full text search

    acho que isto vai consumir menos memoria

    terça-feira, 9 de junho de 2015 11:37