Configuração de memória e dimensionar considerações no SQL Server 2012 e versões posteriores

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 2663912
Sumário
Microsoft SQL Server executa memória automática e dinâmica gestão com base nos requisitos de memória actual dos componentes internos do SQL Server e a carga de trabalho no sistema. SQL Server também oferece opções de configuração relacionadas com a memória para ajudar a afinação fina de padrões de comportamento da aplicação específica e requisitos específicos de avançadas. As diferentes opções de configuração incluem o seguinte:
  • Opções de sp_configure (memória do servidor máximo (MB), (MB) de memória do servidor de mine awe activada)
  • parâmetro de arranque -g (memory_to_reserve)
  • páginas bloqueadas

Microsoft SQL Server 2012 introduz alterações no Gestor de memória que afectam a forma como os administradores configurar estas opções de memória. Reveja as alterações descritas aqui antes de actualizar para o SQL Server 2012 ou antes de configurar uma nova instalação do SQL Server 2012.

Nota Este artigo também se aplica ao Microsoft SQL Server 2014.
Mais Informação
SQL Server 2012 também introduz alterações na forma como os tipos específicos de atribuições de memória são contabilizados e as opções de configuração de memória que controlam a quantidade máxima de memória que pode ser utilizada por estes tipos de atribuições. As alterações de 2012 do SQL Server são específicas para pedidos de atribuição de memória de SQL CLR e de distribuições com várias páginas. SQL Server 2012 tem uma nova atribuição de página que gere atribuições de página única e com várias páginas (menor que 8 KB e maior que pedidos de atribuição de 8 KB). Por conseguinte, não existe nenhuma categoria separado "páginas múltiplas atribuições" no SQL Server 2012.

Alterações a 'memória de servidor máximo (MB)' e 'memória (MB) de min server'

Em versões anteriores do SQL Server (SQL Server 2005, SQL Server 2008 e do SQL Server 2008 R2), as seguintes opções de configuração determinar os limites de memória física que o conjunto de memória intermédia consumido. Repare estiver a falar sobre memória física no presente caso, a memória física que é consolidada por processo de motor de base de dados do SQL Server:
  • memória do servidor máximo (MB)
  • memória do servidor min (MB)
Opção Thisconfiguration normalmente incluído apenas as atribuições de memória foram inferior ou igual a 8 KB no processo do SQL Server. Estas atribuições werealso referida como "single_page_allocations" porque o Gestor de memória do servidor de SQL utilizado um tamanho de página de 8 KB. Esta configuração não incluem os seguintes pedidos de atribuição de memória:
  • Atribuições com várias páginas do SQL Server: estes são atribuições que pedir mais do que 8 KB.
  • Atribuições de CLR: estas atribuições incluem SQL CLR pilhas e suas atribuições globais que são criadas durante a inicialização do CLR.
  • Atribuições de memória de pilhas de thread no processo do SQL Server.
  • Pedidos de atribuição de memória efectuados directamente ao Windows: estes incluem directas alocações virtuais efectuadas por módulos que são carregados para o processo de SQL Server e de utilização de memória do Windows. Exemplos de tais pedidos de atribuição de memória incluem atribuições a partir do procedimento armazenado expandido DLLs, objectos que são criados através da utilização de procedimentos de automatização (chamadas de sp_OA) e atribuições dos fornecedores de servidor ligado.

A partir do SQL Server 2012, páginas múltiplas atribuições e alocações de CLR também são incluídas em limites de memória que são controlados por memória do servidor máximo (MB) e a memória do servidor min (MB). Esta alteração fornece uma capacidade de dimensionamento mais precisa para todos os requisitos de memória que atravessam o Gestor de memória do SQL Server. Reveja cuidadosamente os valores de memória do servidor máximo (MB) e (MB) de memória do servidor de min actuais depois de actualizar para SQL Server 2012. Deve rever esses valores porque o SQL Server 2012 agora inclui e contas para mais alocações de memória em comparação comparadas versões anteriores. Estas alterações se aplicam a versões de 32 bits e 64 bits do SQL Server 2012.

A tabela seguinte indica se um tipo específico de atribuição de memória é controlado pelas opções de configuração de memória do servidor máximo (MB) e a memória do servidor min (MB).
Tipo de atribuição de memóriaSQL Server 2005, SQL Server 2008, SQL, Server 2008 R2Servidor SQL de 2012, SQL Server 2014
Atribuições de página únicaSimSim, consolidados alocações de página "qualquer tamanho"
Atribuições de múltiplas páginasNãoSim, consolidados alocações de página "qualquer tamanho"
Atribuições de CLRNãoSim
Memória de pilhas de threadNãoNão
Directas atribuições a partir do WindowsNãoNão
2012 do SQL Server e versões posteriores, podem atribuir mais memória do que o valor que é especificado na definição dememória do servidor máx. Este comportamento pode ocorrer quando a definição deMemória de servidor de destino (KB)(conforme especificado emmemória do servidor max) já foi atingido o valor deMemória Total de servidor (KB). Se existir memória livre contígua insuficiente para satisfazer a procura de pedidos de memória de múltiplas páginas (mais de 8 KB) devido a fragmentação de memória, o SQL Server pode efectuar compromisso excessiva em vez de rejeição do pedido de memória.

Logo que esta repartição é efectuada, o Monitor de recursos é iniciado libertar memória reservada e tentará colocar belowthe de valor deMemória Total de servidor (KB)a especificação de Memória de servidor de destino (KB) . Por conseguinte, a utilização da memória SQL Server foi brevemente exceedthe memória do servidor máximo, a definição. Nesta situação, a leitura de contadores de desempenho deMemória Total de servidor (KB)irá exceder as definições deMemória de servidor de destino (KB) e amemória do servidor máx.

Este comportamento, normalmente, é observado durante as seguintes operações:
  • Consultas de índice de Columnstore grandes
  • Cria o índice de Columnstore (re), que utilize grandes volumes de memória para efectuar operações de Hash e ordenar
  • Operações de cópia de segurança que requerem grandes memórias intermédias
  • Rastrear operações que têm para armazenar grandes parâmetros de entrada

Actualização cumulativa 8 para o SQL Server 2014 e Actualização cumulativa 1 para o SQL Server 2014 SP1introduziu uma melhoria de libertação de memória mais rápida, tal como descrito na descrição geral do anterior. Além disso,Actualização cumulativa 9 para SQL Server 2014resolver um problema de atribuição de memória que envolve o compromisso excessiva. Para mais informações, consulte os seguintes artigos da Base de dados de conhecimento da Microsoft:
Para mais informações acerca de porções de memória que são controladas pela definição damemória do servidor max, consulte o Opções de configuração de servidor de memória do servidor Tópico Online de livros.

Alterações a "memory_to_reserve"


Em versões anteriores de 32 bits do SQL Server (SQL Server 2005, SQL Server 2008 e do SQL Server 2008 R2), o Gestor de memória do SQL Server reservadas uma parte do processo espaço de endereçamento virtual para utilização pelos seguintes pedidos de atribuição:
  • Atribuições com várias páginas do SQL Server: estes são atribuições que pedir mais do que 8 KB.
  • Atribuições de CLR: estas atribuições incluem SQL CLR pilhas e suas atribuições globais que são criadas durante a inicialização do CLR.
  • Atribuições de memória de pilhas de thread no processo do SQL Server.
  • Pedidos de atribuição de memória efectuados directamente ao Windows: incluem estes pedidos de atribuição directas alocações virtuais efectuadas por módulos que são carregados para o processo de SQL Server e de utilização de memória do Windows. Exemplos de tais pedidos de atribuição de memória incluem atribuições a partir do procedimento armazenado expandido DLLs, objectos que são criados através da utilização de procedimentos de automatização (chamadas de sp_OA) e atribuições dos fornecedores de servidor ligado.

O espaço de endereçamento virtual que está reservado para estas atribuições é determinado pela opção de configuração memory_to_reserve . O valor predefinido que utiliza o SQL Server é de 256 MB. Para substituir o valor predefinido, utilize o parâmetro de arranque do SQL Server -g . Esta parte do espaço de endereçamento virtual também é conhecido como "De memória para férias" ou "Região de conjunto de memórias."

Uma vez que 2012 do SQL Server tem a nova atribuição de página "qualquer tamanho" que processa alocações superiores a 8 KB, o valor de memory_to_reserve não inclui as atribuições de múltiplas páginas. Excepto para esta alteração, tudo o resto permanece a mesma com esta opção de configuração.

A tabela seguinte indica se um tipo específico de atribuição de memória enquadra a região de memory_to_reservede espaço de endereçamento virtual para o processo de SQL Server.
Tipo de atribuição de memóriaSQL Server 2005, SQL Server 2008, SQL Server 2008 R2Servidor SQL de 2012, SQL Server 2014
Atribuições de página únicaNãoNão, consolidados alocações de página "qualquer tamanho"
Atribuições de múltiplas páginasSimNão, consolidados alocações de página "qualquer tamanho"
Atribuições de CLRSimSim
Memória de pilhas de threadSimSim
Directas atribuições a partir do WindowsSimSim

Alterações a outras opções de configuração relacionadas com a memória

Se tiver configurado o SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2 para utilizar a opção "awe activado", consulte o seguinte artigo para compreender as importantes alterações para esta opção de configuração:

Se tiver configurado o SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2 para utilizar a funcionalidade de "páginas bloqueadas", consulte o seguinte artigo para compreender as importantes alterações para esta opção de configuração:

Utilização máxima da memória para várias edições do SQL Server

Diferentes edições do SQL Server tem limites máximos em vários recursos que possam utilizar. Não existem limites de imposto sobre utilização máxima da memória para diferentes edições do SQL Server. Por exemplo, uma instância do SQL Server 2008 R2 Standard Edition pode utilizar apenas um máximo de memória de 64 GB. Para obter detalhes completos, vá para a seguinte página Web da MSDN:Estes limites de memória a partir do SQL Server 2012, são aplicadas apenas para a cache de base de dados (conjunto de memória intermédia). O resto das caches no Gestor de memória de SQL Server pode utilizar muito mais memória do que é especificado por estes limites de edição. Por exemplo, uma edição do SQL Server 2012 Express pode utilizar um tamanho máximo de 1,4 GB para a cache de base de dados. Outros caches (por exemplo, a cache de procedimentos, a cache de metadados e assim sucessivamente) podem consumir memória até ao tamanho especificado pela configuração de 'memória de máxima do servidor'.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2663912 - Última Revisão: 11/07/2015 07:14:00 - Revisão: 6.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Enterprise

  • kbtshoot kbmt KB2663912 KbMtpt
Comentários