locked
Baixo consumo de memória no SQL Server 2017 RRS feed

  • Discussão Geral

  • Olá, 

    após migração o SQL 2008 R2 para o 2017  estamos com o consumo de memória extremamente baixo. Apenas 250Mb, na versão anterior, tínhamos um consumo de 25gb (limitado).

    Este comportamento está correto? As operações continuam as mesmas e a carga de trabalho também, não percebi queda de rendimento, mas se está utilizando pouca memória talvez o BD esteja ocupando pouco da capacidade.

    Att

    Germano

    terça-feira, 28 de maio de 2019 19:24

Todas as Respostas

  • Germano,

    O que temos de diferente do ambiente que estava rodando o 2008 para esta nova versão?

    Dizer que esta certo é muito genérico.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 28 de maio de 2019 22:26
    Moderador
  • Deleted
    terça-feira, 28 de maio de 2019 23:57
  • Olá Junior, 

    Nada de diferente. A base foi migrada para o 2017, e o mesmo sistema está conectando nela.

    quarta-feira, 29 de maio de 2019 11:40
  • Olá José, 

    Memória de 0 a 24576, quanto ao consumo de memória, no gerenciador do windows.


    quarta-feira, 29 de maio de 2019 11:53
  • Germano,

    Ok, então estamos falando de um ambiente com:

    - Memória mínima = 0 (zero); e

    - Memória Máxima = 25Gbs.

    Pois bem, eu particularmente não utilizo valor de 0 como valor mínimo, se possível deixe definido um valor inicial para 1Gbs, deixando com o valor 0(zer0) estamos forçando de qualquer forma que o servidor e o próprio SQL Server tenham que alocar memória de forma mais drástica e rápida em seu processo de inicialização, deixando com um valor consideravelmente acima de 0 (zero) diminuímos em muito esta sobrecarga.

    Então você destacou que a quantidade de memória que esta sendo apresentada é através do gerenciador de tarefas do Windows, pois bem, vamos identificar realmente o quanto esta sendo alocado através do Management Studio, via linha de comando.

    Por gentileza, execute os comandos abaixo:

    -- Identificando a alocação atual de memória --
    SELECT 
      physical_memory_in_use_kb/1024 AS sql_physical_memory_in_use_MB, 
        large_page_allocations_kb/1024 AS sql_large_page_allocations_MB, 
        locked_page_allocations_kb/1024 AS sql_locked_page_allocations_MB,
        virtual_address_space_reserved_kb/1024 AS sql_VAS_reserved_MB, 
        virtual_address_space_committed_kb/1024 AS sql_VAS_committed_MB, 
        virtual_address_space_available_kb/1024 AS sql_VAS_available_MB,
        page_fault_count AS sql_page_fault_count,
        memory_utilization_percentage AS sql_memory_utilization_percentage, 
        process_physical_memory_low AS sql_process_physical_memory_low, 
        process_virtual_memory_low AS sql_process_virtual_memory_low
    FROM sys.dm_os_process_memory
    Go
    ;with ctememoria
    As
    (
    select 
        (memoria.total_physical_memory_kb / 1024) as MemoriaTotalFisica, 
        (memoria.available_physical_memory_kb / 1024) as MemoriaFisicaDisponivel
    from sys.dm_os_sys_memory memoria)
    
    select MemoriaTotalFisica, MemoriaFisicaDisponivel, MemoriaTotalFisica-MemoriaFisicaDisponivel as MemoriaTotalParaAlocar from ctememoria



    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 29 de maio de 2019 12:09
    Moderador
  • Deleted
    quarta-feira, 29 de maio de 2019 12:14





  • sql_physical_memory_in_use_MB 24628
    sql_large_page_allocations_MB 0
    sql_locked_page_allocations_MB 24306
    sql_VAS_reserved_MB 82713
    sql_VAS_committed_MB 25271
    sql_VAS_available_MB 134135014
    sql_page_fault_count 6438314
    sql_memory_utilization_percentage 100
    sql_process_physical_memory_low 0
    sql_process_virtual_memory_low 0

    memoriaservidor 65535
    memoriasql 21825
    totalalocado 43710


    quarta-feira, 29 de maio de 2019 12:33
  • Deleted
    quarta-feira, 29 de maio de 2019 12:35
  • Deleted
    quarta-feira, 29 de maio de 2019 12:49
  • José,

    Eu não deveria mas vou responder, pois não devo nada a você, muito menos o que eu conheço, mas como você mesmo diz, temos que manter a qualidade técnica.

    Eu não estou afirmando, estou compartilhando um pouco da minha experiência de 25 anos de carreira, sendo 20 dedicados ao SQL Server. Tenho total conhecimento que ele não vai alocar a quantidade indicada como minima, mas sim no processo de inicialização ao ler as configurações ele já será que deve alocar a quantidade informado no momento que for necessário e ai sim, esta sobrecarga que eu considero como mais drástica vai ocorrer.

    Sei que tudo começa com 0 zero, isso é fato, isso é algo que esta enraizado nos padrões da computação e hoje o que chamamos de tecnologia.

    Sei que não vai alocar imediatamente, mas quando for alocar a memória ele vai tomar como ponto inicial o que esta definido na memória minima.

    Eu tenho total hábito e costume de ler a documentação do SQL Server sempre que vejo a necessidade, neste post, não foi necessário, mas aprendi também que não da para acreditarmos em tudo que esta escrito na documentação, pois o que acontece no mundo real muitas vezes não é refletido em um documento.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 13:07
    Moderador
  • Bom,

    pelas consultas está dizendo que tenho 21 gb de memória disponível pela available_physical_memory_kb da sys.dm_os_sys_memory

    mas na sys.dm_os_process_memory, está dizendo que o SQL está usando 24Gb (sql_physical_memory_in_use_MB).

    No gerenciador do windows realmente mostra 21GB de memória livre, o resto está sendo ocupado pelos outros serviços.

    É isso mesmo, parece incoerente?


    quarta-feira, 29 de maio de 2019 13:20
  • Germano,

    Então, por gentileza, para inicialmente simplificarmos, execute o código abaixo:

    ;with ctememoria
    As
    (
    select 
        (memoria.total_physical_memory_kb / 1024) as MemoriaTotalFisica, 
        (memoria.available_physical_memory_kb / 1024) as MemoriaFisicaDisponivel
    from sys.dm_os_sys_memory memoria)
    
    select MemoriaTotalFisica, MemoriaFisicaDisponivel, MemoriaTotalFisica-MemoriaFisicaDisponivel as MemoriaTotalParaAlocar from ctememoria

    A coluna denominada MemoriaFisicaDisponivel vai mostrar o quanto esta definido como memória disponível para ele alocar, já a coluna MemoriaTotalFisica vai mostrar o total de memória RAM existente fisicamente na máquina.

    No final a coluna MemoriaTotalParaAlocar é justamente a diferença entre MemoriaTotalFisica-MemoriaFisicaDisponivel.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 29 de maio de 2019 13:27
    Moderador
  • Isso, executei.

    tem 20 gb disponivel para alocar.

    MemoriaTotalFisica 65535
    MemoriaFisicaDisponivel 20819
    MemoriaTotalParaAlocar 44716


    quarta-feira, 29 de maio de 2019 13:29
  • Germano,

    Então, na verdade, você vai identificar que temos neste momento: 

    - 20Gbs quase 21 de memória disponível para o SQL Server alocar;

    - 44Gbs quase 45Gbs de memória total disponível na máquina para ser alocado; e

    - Memória Total de 65Gbs.

    Esse é seu cenário neste momento.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]



    quarta-feira, 29 de maio de 2019 13:34
    Moderador
  • OK,

    está de acordo com o que estou vendo no gerenciador do windows, mas chamou a atenção os dados da consulta anterior, informando que tem 24 gb em uso para o sql.

    sql_physical_memory_in_use_MB 24628
    sql_large_page_allocations_MB 0
    sql_locked_page_allocations_MB 24306
    sql_VAS_reserved_MB 82713
    sql_VAS_committed_MB 25271
    sql_VAS_available_MB 134135014
    sql_page_fault_count 6438314
    sql_memory_utilization_percentage 100
    sql_process_physical_memory_low 0
    sql_process_virtual_memory_low 0

    quarta-feira, 29 de maio de 2019 13:49
  • Germano,

    Na verdade, os números estão próximos, o que muda é a forma que estão sendo calculados.

    Pois neste se pegarmos a coluna sql_physical_memory_in_use_MB, o valor representa: O processo de trabalho definido em KB, conforme relatado pelo sistema operacional, bem como alocações controladas usando APIs de página grande. Ou seja, aqui ele já esta fazendo o cálculo considerando tanto as alocações do SQL Server, como também, o que as as aplicações estão alocando de páginas de dados em memória.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 14:08
    Moderador
  • Germano,

    Neste outro exemplo, vai te ajudar mais ainda:

    --Conferindo memória que o sql conseguiria usar --Se os contadores do perfmon tiverem vazios

    select counter_name, cntr_value, cast((cntr_value/1024.0)/1024.0 as numeric(10,4)) as Gbs, cast((cntr_value/1024.0)/1024.0*1024 as numeric(10,2)) as Mbs from sys.dm_os_performance_counters where counter_name like '%Target server_memory%' OR counter_name like '%Total server_memory%';



    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 29 de maio de 2019 14:25
    Moderador
  • Deleted
    quarta-feira, 29 de maio de 2019 14:31
  • Não localizou esta expressão, 

    segue todas com Memory

    counter_name cntr_value Gbs Mbs
    Cursor memory usage 72 0.0001 0.07
    Cursor memory usage 0 0.0000 0.00
    Cursor memory usage 0 0.0000 0.00
    Cursor memory usage 72 0.0001 0.07
    External benefit of memory 0 0.0000 0.00
    Thread-safe memory objects waits 0 0.0000 0.00
    Thread-safe memory objects waits 0 0.0000 0.00
    Thread-safe memory objects waits 0 0.0000 0.00
    Thread-safe memory objects waits 0 0.0000 0.00
    Reduced memory grants/sec 0 0.0000 0.00
    Max request memory grant (KB) 0 0.0000 0.00
    Compile memory target (KB) 0 0.0000 0.00
    Cache memory target (KB) 0 0.0000 0.00
    Query exec memory target (KB) 0 0.0000 0.00
    Active memory grants count 0 0.0000 0.00
    Active memory grant amount (KB) 0 0.0000 0.00
    Pending memory grants count 0 0.0000 0.00
    Max memory (KB) 0 0.0000 0.00
    Used memory (KB) 0 0.0000 0.00
    Target memory (KB) 0 0.0000 0.00


    quarta-feira, 29 de maio de 2019 14:46
  • pelas consultas está dizendo que tenho 21 gb de memória disponível pela available_physical_memory_kb da sys.dm_os_sys_memory
    mas na sys.dm_os_process_memory, está dizendo que o SQL está usando 24Gb (sql_physical_memory_in_use_MB).
    No gerenciador do windows realmente mostra 21GB de memória livre, o resto está sendo ocupado pelos outros serviços.

    É isso mesmo, parece incoerente?

    Germano, talvez a confusão esteja neste relatório:

    O valor 21825 não se refere a memoriasql mas sim a quanto de memória o sistema operacional possui de disponível para alocar a qualquer processo. No lugar de "memoriasql" a identificação correta é "memória disponível". Ou seja, aquela consulta que você executou não estava corretamente definida.

    O que o SQL Server está a utilizar entrou na parte de totalalocado.

    Esses 21825 não tem qualquer relação com os 24628. São informações diferentes.


    José Diz     Belo Horizonte, MG - Brasil     [T-SQL performance tuning: Porto SQL]   [e-mail]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    José,

    Neste ponto eu concordo com você, a confusão foi minha, pois postei um exemplo que era relacionado com um outro cenário, por isso eu editei os posts anteriores.

    Germano,

    Concordo com esta observação do José Diz.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 16:20
    Moderador
  • O min server memory e max server memory são pertinentes apenas ao buffer pool, não?

    Se colocar o min server memory muito baixo pode acontecer de o SQL tentar liberar memória sem necessidade e em excesso para o SO?

    Se eu tenho um servidor dedicado ao banco de dados, definiria o min e o max com valores iguais, assim o buffer pool alocaria o seu máximo (em determinado momento) e reciclaria de maneira cíclica sem devolver memória ao SO.


    quarta-feira, 29 de maio de 2019 16:36
  • Germano,

    Observe que o Contador Target Memory (KB) ele identificou.

    Faça o seguinte, vamos alterar o código para verificar quais valores estão sendo apresentados:

    select counter_name, cntr_value
    
    from sys.dm_os_performance_counters
    
    where counter_name like '%Target server_memory%'
    
    OR counter_name like '%Total server_memory%';


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 16:36
    Moderador
  • André,

    Então, concordo com partes, sim temos relação com o Buffer Pool, sabendo que o mesmo tem uma área de memória específica para ele trabalhar que não necessariamente se relaciona com a memória em si definida como mínima e máximo. O Buffer Pool é um dos pilares existentes do SQLOS.

    No que se refere fazer uso de um número muito baixo podemos ter problemas de desempenho, também concordo.

    Mas definir números iguais, eu já não recomendo justamente por este comportamento, segundo documentação oficial:

    • A quantidade de memória adquirida pelo Mecanismo de Banco de Dados do SQL Server é completamente dependente da carga de trabalho colocada na instância. Uma instância SQL Server que não está processando muitas solicitações nunca consegue atingir a min server memory.
    • Se o mesmo valor for especificado para as opções min server memory e max server memory, então, uma vez que a memória alocada ao Mecanismo de Banco de Dados do SQL Server alcançar esse valor, o Mecanismo de Banco de Dados do SQL Server interromperá a liberação e a aquisição dinamicamente para o pool de buffers.
     

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quarta-feira, 29 de maio de 2019 16:41
    Moderador
  • Target memory (KB) =           0

    quarta-feira, 29 de maio de 2019 16:42
  • O min server memory e max server memory são pertinentes apenas ao buffer pool, não?

    Se colocar o min server memory muito baixo pode acontecer de o SQL tentar liberar memória sem necessidade e em excesso para o SO?

    Se eu tenho um servidor dedicado ao banco de dados, definiria o min e o max com valores iguais, assim o buffer pool alocaria o seu máximo (em determinado momento) e reciclaria de maneira cíclica sem devolver memória ao SO.


    Pois é, mas mesmo setando o valor de min server memory em 1gb, por exemplo. Ele não consome, continua em 250mb
    quarta-feira, 29 de maio de 2019 16:45
  • Germano,

    Teria como você abrir a ferramenta Performance Monitor e adicionar justamente os contadores:

    • Target server_memory; e
    • Total server_memory.

    Ambos relacionados com a sua instância SQL Server.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 16:51
    Moderador
  • Target memory (KB) =           0


    Nossa, valor igual á zero....

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de maio de 2019 16:52
    Moderador
  • Germano,

    Teria como você abrir a ferramenta Performance Monitor e adicionar justamente os contadores:

    • Target server_memory; e
    • Total server_memory.

    Ambos relacionados com a sua instância SQL Server.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    ficam zerados no Performance Monitor

    quarta-feira, 29 de maio de 2019 17:38
  • Germano,

    Ok, para finalizar, estes outros contadores:

    • Process: Working Set

    • SQL Server: Buffer Manager: Buffer Cache Hit Ratio

    • SQL Server: Buffer Manager: Database Pages

    Esta máquina é física ou virtual? Se for virtual como esta configurada a memória?

    Não tem muito sentido estes contadores estarem apresentando valores zerados, mas se for possível, verifique também o que esta sendo exibido no Resource Monitor.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]



    quarta-feira, 29 de maio de 2019 17:55
    Moderador
  • Germano,

    Ok, para finalizar, estes outros contadores:

    • Process: Working Set

    • SQL Server: Buffer Manager: Buffer Cache Hit Ratio

    • SQL Server: Buffer Manager: Database Pages

    Esta máquina é física ou virtual? Se for virtual como esta configurada a memória?

    Não tem muito sentido estes contadores estarem apresentando valores zerados, mas se for possível, verifique também o que esta sendo exibido no Resource Monitor.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]



    É uma VM. Sobre como está configurada a memória, não sei te dizer. Mas está fixada em 65 gb.



    quarta-feira, 29 de maio de 2019 20:11
  • Olá, 

    após migração o SQL 2008 R2 para o 2017  estamos com o consumo de memória extremamente baixo. Apenas 250Mb, na versão anterior, tínhamos um consumo de 25gb (limitado).

    Este comportamento está correto? As operações continuam as mesmas e a carga de trabalho também, não percebi queda de rendimento, mas se está utilizando pouca memória talvez o BD esteja ocupando pouco da capacidade.

    Att

    Germano

    Tem que fazer a configuração SQL de memória maxima e memória minima

    https://docs.microsoft.com/pt-br/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-2017

    https://docs.microsoft.com/pt-br/sql/relational-databases/memory-management-architecture-guide?view=sql-server-2017


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    quarta-feira, 29 de maio de 2019 21:24
  • Germano,

    Tente identificar qual é a configuração de memória, estou desconfiando que esta VM foi configurada com alocação dinâmica.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 30 de maio de 2019 00:34
    Moderador
  • Deleted
    quinta-feira, 30 de maio de 2019 09:48
  • Germano, eu não entendo qual é o problema, pois já foi comprovado que o SQL Server está a utilizar o limite de 24.576 MiB de memória máxima definida em max server memory, informação obtida ao você consultar valores coletados de sys.dm_os_process_memory.

    Quanto aos "250 Mb" que você diz que o Windows está informando, poderia fazer print screen e postar neste tópico?


    José Diz     Belo Horizonte, MG - Brasil     [T-SQL performance tuning: Porto SQL]   [e-mail]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    Ele não pode estar usando 24GB, se ainda sobram 21 gb de memoria disponivel no servidor.

    quinta-feira, 30 de maio de 2019 11:26
  • Deleted
    quinta-feira, 30 de maio de 2019 11:45
  • A memória de máquina virtual quando está mau configurada a distribuição entre memória RAM máxima e memória RAM mínima o computador/servidor costuma funcionar com todos os aplicativos lento demais no funcionamento.

    E quando o Microsoft SQL Server está com a memória RAM mau configurada na distribuição de memória mínima e memória máxima que o sistema SQL deverá utilizar para trabalhar, a leitura de informações dentro do banco de dados costuma funcionar de forma muito lento.

    Se o banco de dados Microsoft SQL que está utilizando, está funcionando dentro de uma máquina virtual, terá que fazer uma manobra na configuração de memória RAM porque ambos usam configuração de memória mínima e porque ambos usam configuração de memória máxima.  Não poderá utilizar os mesmos números igual de memória máxima e igual de memória mínima, terá que ratear a distribuição de memória entre ambos.


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    quinta-feira, 30 de maio de 2019 12:26
  • Se as configurações estão corretas, não houve degradação de performance para a carga de trabalho e não existem evidências/logs de pressionamento de memória, talvez tudo esteja OK.
    quinta-feira, 30 de maio de 2019 13:01
  • Exemplo de como se calcula a quantidade de memória em bytes

    (para uso em SQL Server e uso em VM e Hyper-V):

    1 Kilobyte = 1 Bytes * 1024 = 1 024 bytes
    1 Megabyte = 1 Kilobytes * 1024 = 1 024 Kilobytes= 1 048 576 bytes
    1 Gigabyte = 1 Megabytes * 1024 = 1 048 576 Kilobytes= 1 073 741 824 bytes
    4 GB = 4 Megabytes * 1024 = 4096 Megabytes 4096 Mb  
    4096 Mb * 1024 = 4194304 Kilobytes  4194304 Kb * 1024 = 4294967296 bytes 


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful


    • Editado Ana Gauna quinta-feira, 30 de maio de 2019 13:57
    quinta-feira, 30 de maio de 2019 13:46
  • Sabe onde tem que ir fazer  a configuração de memória no SQL Server? Segue um exemplo:

    SQL Server exemplo de configuração de memória máxima e memória minima


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    quinta-feira, 30 de maio de 2019 14:25
  • Ana,

    Obrigado sua resposta, como Moderador dos fóruns de SQL Server aqui no Brasil, tenho o dever de entrar em contato com você, sugerindo que antes de posts uma resposta, sugestão ou melhoria, leia o título e também algumas respostas que já foram inseridas no referido post.

    Estamos passando por um momento de mudança na organização, staff, conduta e até mesmo moderadores aqui no Brasil, a partir de 2019 estamos adotando um postura mais comunicativa, menos ditatorial ou "goela abaixo", tenho a certeza que você me entende e compreende.

    Eu mesmo, estou revendo milhares de posts de minha autoria afim de identificar respostas que possam gerar dúvidas, ambiguidades e principalmente fora de contexto ou apresentem erros.

    Errar faz parte, isso é comum, todos nós estamos aqui para aprender, trocar experiências e compartilhar nossos conhecimentos, sendo assim, mais uma vez, reflita, analise e tenha a certeza do que você esta adicionando como resposta, pois, a mesma poderá ser útil de alguma forma, mas não naquele momento para o específico post ou dúvida.

    Caso tenha postado e percebido que existe algo fora do contexto, não tenha a vergonha de corrigir, editar e avisar que o post esta incoerente, fora de contexto ou confuso.

    Contamos com a sua participação aqui nos fóruns, nos ajudando e fazendo com que este ambiente se torne cada vez mais uma fonte de conhecimento e aprendizado.

    Espero que você me compreenda, falo em meu nome.

    Obrigado.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]




    quinta-feira, 30 de maio de 2019 14:28
    Moderador
  • Sabe onde na máquina virtual tem que fazer a configuração de memória máxima e memória mínima?  Segue um exemplo:

    Máquina Virtual (VM) Exemplo de configuração de memória máxima e memória minima


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    quinta-feira, 30 de maio de 2019 14:30
  • Pedro Antonio Galvão Junior

    Eu uso os fórum Microsoft de SQL Server desde a versão Microsoft SQL Server 2000.  Eu uso os fórums de Microsoft Windows Server desde a versão do Microsoft Windows Server NT4.  Eu uso os fórums Microsoft nos idiomas: português, inglês e espanhol, isso já tem mais de 10 anos.  A primeira vez que eu utilizei um fórum da Microsoft o Internet Explorer era versão 4.  Atualmente eu estou estudando o manual técnico oficial das versões 2016 do Microsoft SQL Server 2016 e do Microsoft Windows Server 2016. E eu já tenho os manuais oficiais do Microsoft Azure e do SQL Azure, que eu também estou estudando.  Eu uso já tem muitos anos.


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    quinta-feira, 30 de maio de 2019 14:37
  • Ana Gauna,

    Ok, eu compreendo, longe de mim questionar o seu conhecimento e experiência, como também tenho a minha ao longo dos meus 25 de carreira profissional e acadêmica.

    Também participo dos fóruns em outros idiomas, mas 90% do meu tempo eu cuido dos fóruns brasil.

    Somente me senti no dever de ser mais receptivo as suas respostas.

    Obrigado.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 30 de maio de 2019 14:40
    Moderador
  • Pedro Antonio Galvão Junior

    Eu trabalho com suporte técnico isso já tem mais de 20 anos. Desde 2014 eu tenho trabalhado como autônoma no Rio de Janeiro.  Eu atualmente estou estudando o Microsoft SQL Server 2016 e o Microsoft Windows Server 2016 para mais tarde fazer as provas de certificação oficial. Eu também estou estudando os manuais técnicos oficiais do Microsoft Azure e do SQL Azure para mais tarde fazer as provas de certificação oficial.

    Quando eu estou livre, sem pedidos de trabalhos para atender, eu olho as vezes se tem alguém precisando de ajuda dentro dos fórums da Microsoft. Eu faço isso nas minhas horas vagas, já tem mais de 10 anos.

    Eu trabalhei vários anos atrás com máquinas virtuais. Atualmente eu não uso máquina virtual.

    Eu trabalhei vários anos atrás com o sistema ERP RM Corpore de Contabilidade e Folha de Pagamento, ele funciona com Microsoft SQL Server instalado em sistema operacional Windows Server, e os computadores dos usuários lê as informações do sistema RM Corpore (que usa o Microsoft SQL Server) se conectando ao servidor.  Eu dei suporte técnico nesse tipo de sistema durante muitos anos, anos atrás.  E nessa época quando o banco de dados depois de 12 meses sendo utilizado diariamente pelos usuários da contabilidade e pelos usuários do setor de recursos humanos (sistema folha de pagamento) a leitura de informações foi ficando muito lento, cada vez mais lento conforme os meses foi passando. Então nessa época eu reli o manual oficial do Microsoft SQL Server, e eu aprendi a calcular a memória máxima e memória mínima, para poder refazer a configuração de memória máxima e memória mínima dentro do Microsoft SQL Server, e dentro da configuração de instalação do sistema RM Corpore.  Eu usei durante muitos anos o sistema RM Corpore funcionando em conjunto com o Microsoft SQL Server com Microsoft Windows Server.  Para esse uso, eu tive que aprender, sem ninguém me ajudar, a calcular e fazer o rateio de uso de memória máxima e memória mínima, para o pessoal do setor de contabilidade e recursos humanos voltar a trabalhar de forma rápida.  Se eu tivesse cometido um erro, e o sistema deles tivesse parado de funcionar, a minha demissão seria certa.  Eu enfrentei esse problema vários anos atrás, e eu consegui resolver, sozinha e sem ajuda de ninguém.

    Eu tenho o costume, isso já tem mais de 10 anos, de buscar a solução de meus problemas lendo os manuais oficial do fabricante, seja fabricante de equipamentos, seja o fabricante de softwares, eu leio o manual técnico seja ele escrito em português, seja ele escrito em inglês, seja ele escrito em espanhol.  E ano atrás eu já li manual técnico escrito em italiano e escrito em francês, quando achei a solução de algo nesse idioma.

    O manual técnico oficial já me ajudou na solução de meus problemas, já tem mais de 10 anos.  E assim como me ajudou, eu acredito que essa é a forma certa de indicar a solução de problemas técnicos.

     


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful


    • Editado Ana Gauna quinta-feira, 30 de maio de 2019 15:16
    quinta-feira, 30 de maio de 2019 15:15
  • Pedro Antonio Galvão Junior

    Eu trabalho com suporte técnico isso já tem mais de 20 anos. Desde 2014 eu tenho trabalhado como autônoma no Rio de Janeiro.  Eu atualmente estou estudando o Microsoft SQL Server 2016 e o Microsoft Windows Server 2016 para mais tarde fazer as provas de certificação oficial. Eu também estou estudando os manuais técnicos oficiais do Microsoft Azure e do SQL Azure para mais tarde fazer as provas de certificação oficial.

    Quando eu estou livre, sem pedidos de trabalhos para atender, eu olho as vezes se tem alguém precisando de ajuda dentro dos fórums da Microsoft. Eu faço isso nas minhas horas vagas, já tem mais de 10 anos.

    Eu trabalhei vários anos atrás com máquinas virtuais. Atualmente eu não uso máquina virtual.

    Eu trabalhei vários anos atrás com o sistema ERP RM Corpore de Contabilidade e Folha de Pagamento, ele funciona com Microsoft SQL Server instalado em sistema operacional Windows Server, e os computadores dos usuários lê as informações do sistema RM Corpore (que usa o Microsoft SQL Server) se conectando ao servidor.  Eu dei suporte técnico nesse tipo de sistema durante muitos anos, anos atrás.  E nessa época quando o banco de dados depois de 12 meses sendo utilizado diariamente pelos usuários da contabilidade e pelos usuários do setor de recursos humanos (sistema folha de pagamento) a leitura de informações foi ficando muito lento, cada vez mais lento conforme os meses foi passando. Então nessa época eu reli o manual oficial do Microsoft SQL Server, e eu aprendi a calcular a memória máxima e memória mínima, para poder refazer a configuração de memória máxima e memória mínima dentro do Microsoft SQL Server, e dentro da configuração de instalação do sistema RM Corpore.  Eu usei durante muitos anos o sistema RM Corpore funcionando em conjunto com o Microsoft SQL Server com Microsoft Windows Server.  Para esse uso, eu tive que aprender, sem ninguém me ajudar, a calcular e fazer o rateio de uso de memória máxima e memória mínima, para o pessoal do setor de contabilidade e recursos humanos voltar a trabalhar de forma rápida.  Se eu tivesse cometido um erro, e o sistema deles tivesse parado de funcionar, a minha demissão seria certa.  Eu enfrentei esse problema vários anos atrás, e eu consegui resolver, sozinha e sem ajuda de ninguém.

    Eu tenho o costume, isso já tem mais de 10 anos, de buscar a solução de meus problemas lendo os manuais oficial do fabricante, seja fabricante de equipamentos, seja o fabricante de softwares, eu leio o manual técnico seja ele escrito em português, seja ele escrito em inglês, seja ele escrito em espanhol.  E ano atrás eu já li manual técnico escrito em italiano e escrito em francês, quando achei a solução de algo nesse idioma.

    O manual técnico oficial já me ajudou na solução de meus problemas, já tem mais de 10 anos.  E assim como me ajudou, eu acredito que essa é a forma certa de indicar a solução de problemas técnicos.

     


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful


    Ana,

    Ok, obrigado.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 30 de maio de 2019 15:37
    Moderador
  • Achei agora um site que gostei, ele faz o cálculo automático de memória para uso no Microsoft SQL Server

    SQL Max Memory Calculator = http://sqlmax.chuvash.eu/

     


    Ana Gauna | Microsoft Partner CSP | Skype: amgauna@hotmail.com | If I helped you, mark the answer as useful

    sábado, 1 de junho de 2019 16:28