Como reduzir a paginação de memória de conjunto de memória intermédia na versão de 64 bits do SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 918483 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Microsoft SQL Server efectua a gestão de memória dinâmica baseada os requisitos de memória a carga actual e actividades no sistema. Num servidor Windows Server 2003 ou Windows XP ou sistema de versão posterior, o SQL Server pode utilizar os mecanismos de notificação de memória que são fornecidos pelo API do Windows ' QueryMemoryResourceNotification '. Num sistema baseado no Microsoft Windows 2000 Server, SQL Server periodicamente calcula a memória livre física no sistema utilizando a API nativo do Windows. SQL Server com base nestas informações a partir da API do Windows QueryMemoryResourceNotification ou do cálculo da memória, responde à situação actual da memória num sistema específico. Isto fornece as seguintes vantagens:
  • O sistema não da página, conjunto de trabalho de processo do SQL Server.
  • As páginas de base de dados necessários estão disponíveis na memória para reduzir as necessidades de e/s físicas.
Para mais informações, consulte o tópico "gestão de memória dinâmica" e o tópico "Opções de memória do servidor" no SQL Server Books Online.

Sintomas

Em edições de 64 bits do SQL Server, poderão ocorrer vários problemas. Por exemplo, podem ocorrer os seguintes problemas:
  • O desempenho do SQL Server diminui subitamente.
  • Um computador que esteja a executar o SQL Server deixa de responder durante algum tempo.
  • Ocorre um tempo limite para as aplicações que ligar ao SQL Server.
  • Ocorrer problemas quando executar comandos mesmo simples ou utilizar as aplicações no sistema.
Se tiver instalado o SQL Server 2005 Service Pack 2 (SP2) ou uma versão posterior, uma das seguintes mensagens de erro é registada no registo de erros do SQL Server quando estes problemas ocorrem:
Mensagem de erro 1
data hora paginada parte significativa de A spid1s de memória de processo do servidor de sql. Isto pode resultar numa degradação do desempenho. Duração: 0 segundos. Conjunto de trabalho (KB): 1086400, cometidas (KB): 2160928, utilização da memória: 50%.
Mensagem de erro 2
data hora paginada parte significativa de A spid1s de memória de processo do servidor de sql. Isto pode resultar numa degradação do desempenho. Duração: 315 o segundos. Conjunto de trabalho (KB): 410156, cometidas (KB): 2201296, utilização da memória: 18%.
Mensagem de erro 3
data hora paginada parte significativa de A spid1s de memória de processo do servidor de sql. Isto pode resultar numa degradação do desempenho. Duração: 646 o segundos. Conjunto de trabalho (KB): 901904, cometidas (KB): 2215752, utilização da memória: 40%.

A equipa de suporte do Microsoft SQL Server também Observou as mensagens de erro adicionais ou avisos que são registados no registo de erros do SQL Server ou nos registos de eventos do Windows. Estas mensagens semelhante ao seguinte:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
Estas mensagens de erro adicionais ou avisos poderão aparecer em conjunto com o erro "uma parte significativa da memória do processo de servidor de sql tem sido paginada" mensagem. Em alguns casos, estas mensagens de erro adicionais ou avisos não parecia juntamente com a mensagem de erro.

Se notar uma destas mensagens de erro ou avisos, considere o SQL Server paginação de conjunto abordada neste artigo como uma das causas possíveis, mas não como a causa apenas a trabalhar. Estas mensagens de erro adicionais ou avisos foi possível iniciar sessão devido a vários outros condições ou outras causas.

Causa

Este problema ocorre porque as páginas do sistema operativo Windows fora do conjunto de trabalho do processo do SQL Server.

Estas mensagens de erro são registadas quando o conjunto de trabalho de um processo de SQL Server atinge 50% ou menos a memória que está empenhada em processo do SQL Server. Pode utilizar estas mensagens de erro para determinar o caso em que o desempenho do servidor de SQL diminui significativamente porque as páginas do sistema operativo Windows fora do conjunto de trabalho do processo do SQL Server. Além disso, estas mensagens de erro são registadas em cinco minutos durante os primeiros 30 minutos. Após os primeiros 30 minutos, a frequência destas mensagens de erro duplica até que a frequência de atinge o máximo de um dia.

Quando este problema ocorre, poderá reparar que o conjunto de trabalho de outras aplicações no sistema é também paginado à volta ao mesmo tempo.
Para mais informações, visite o seguinte Web site da Microsoft:
http://blogs.msdn.com/psssql/archive/2007/05/31/the-SQL-Server-Working-Set-Message.aspx
Além disso, existe um problema conhecido no SQL Server na qual poderá receber uma instância desta mensagem de erro. A mensagem de erro é registada no registo de erros do SQL Server durante o processo de arranque do SQL Server. A mensagem de erro poderá ser um falso aviso. Por conseguinte, não poderá indicar que realmente ocorreu corte do conjunto de trabalho. Para mais informações, visite o seguinte Web site da Microsoft:
http://blogs.msdn.com/psssql/Archive/2009/05/12/SQL-Server-Reports-Working-Set-Trim-Warning-Message-During-Early-Startup-Phase.aspx

Como contornar

Antes de tentar resolver este problema, execute os passos na secção "Como resolver este problema" para resolver este problema.

Se ainda detectar este problema, pode impedir que o sistema operativo Windows paginação da memória de conjunto de memória intermédia de processo do SQL Server, bloqueando a memória atribuída para o conjunto de memória intermédia na memória física. Bloquear a memória atribuindo o direito de utilizador de Bloquear páginas na memória para a conta de utilizador que é utilizado como a conta de início do serviço SQL Server.

Nota Para edições de 64 bits do SQL Server, apenas o SQL Server Enterprise Edition pode utilizar o utilizador de Bloquear páginas na memória para a direita. Isto é aplicável para o SQL Server 2005 [RTM, SP1, SP2, SP3] e [RTM e SP1] do SQL Server 2008. SQL Server 2008 SP1 cumulativa Update 2 e o SQL Server 2005 SP3 cumulativa actualização 4 introduzam o suporte para edições do SQL Server Standard utilizar o utilizador Bloquear páginas na memória para a direita. Para mais informações sobre o suporte para páginas bloqueadas em sistemas de 64 bits, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
970070 Suporte para páginas bloqueado em sistemas do SQL Server 2005 Standard Edition 64 bits e em sistemas SQL Server 2008 Standard Edition 64 bits
Para atribuir o direito de utilizador de Bloquear páginas na memória , siga estes passos:
  1. Clique em Iniciar, clique em Executar, tipo gpedit. msce, em seguida, clique em OK.

    Nota Aparece a caixa de diálogoPolítica de grupo .
  2. Expanda ComputerConfiguratione, em seguida, expanda As definições do Windows.
  3. Expanda As definições de segurançae, em seguida, expandaPolíticas locais.
  4. Faça clique sobre a Atribuição de direitos de utilizadore, em seguida, faça duplo clique em inmemory de páginas de bloqueio.
  5. Na caixa de diálogo Definição de política de segurança Local, clique em Adicionar utilizador ou grupo.
  6. Na caixa de diálogo Seleccionar utilizadores ou grupos , adicione a conta que tenha permissão para executar o ficheiro Sqlservr.exe e, em seguida, clique emOK.
  7. Feche a caixa de diálogo Política de grupo .
  8. Reinicie o serviço SQL Server.
Depois de atribuir o direito de utilizador de Bloquear páginas na memória e reinicie o serviço SQL Server, o sistema operativo Windows já não páginas saída a memória do conjunto de memória intermédia no SQL Server processam. No entanto, o sistema operativo Windows ainda pode página, a memória do conjunto de nonbuffer no âmbito do processo de SQL Server.

Pode validar que o direito de utilizador é utilizado pela instância do SQL Server, certificando-se de que a mensagem seguinte é escrita no registo de erro do SQL Server no arranque:
Utilizar páginas bloqueadas para agrupamento de memória intermédia
Esta mensagem só se aplica a versões de 64 bits do SQL Server.For mais informações sobre esta mensagem pelo ERRORLOG, visite o seguinte Web site da Microsoft:
http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-Assign-the-Lock-Privilege-for-local-System.aspx
Quando as páginas do sistema operativo Windows fora da memória de conjunto de nonbuffer, poderá ainda encontrar problemas de desempenho. No entanto, as mensagens de erro mencionadas na secção "Sintomas" não são registadas no registo de erros de SQL Server. Este comportamento ocorre porque o conjunto de trabalho de um processo de SQL Server normalmente não atinge 50 por cento ou menos da memória consolidada.

Mais Informação

Como resolver este problema

Para resolver este problema, siga estes passos:
  1. Para resolver as questões conhecidas que fazem com que o sistema operativo do Windows para a página, conjunto de trabalho de processo do SQL Server, aplique as correcções que são descritas nos seguintes artigos da Base de dados de conhecimento da Microsoft.

    Nota Correcções são cumulativas. Uma versão posterior de uma correcção contém as versões anteriores desse hotfix.
    • A Microsoft descobriu um problema que poderá provocar a edição de 64 bits do SQL Server conjunto a cortar de trabalho. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
      905865 Os tamanhos dos conjuntos úteis de todos os processos numa sessão de consola podem ser cortados quando utiliza serviços de Terminal para iniciar ou terminar sessão no computador que esteja a executar o Windows Server 2003
    • Computadores que executem o Windows Server 2003 podem ser demasiado agressivos quando vão colocando em cache intermédias com problemas se existir uma aplicação efectuar em memória intermédia e/s, por exemplo, uma operação de cópia de ficheiro. Este comportamento pode fazer com que o conjunto de trabalho no SQL Server a cortar. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
      920739 Poderá detectar uma diminuição no desempenho global do sistema quando está a copiar ficheiros que são maiores do que aproximadamente 500 MB no Windows Server 2003 SP1 ou no Windows Server 2003 SP1
    • O conjunto de trabalho do SQL Server pode ser cortado quando o sistema está a utilizar algumas funcionalidades avançadas de TCP. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
      942861 Mensagem de erro quando uma aplicação liga ao SQL Server num servidor que esteja a executar o Windows Server 2003: "Erro de rede geral", "Falha na ligação de comunicação" ou "Um erro de nível de transporte"
    • Num computador com vários processadores que esteja a executar o Windows Server 2003, o processo do sistema pode consumir a maior parte da memória do sistema disponíveis. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
      942486 O processo do sistema pode consumir a maior parte da memória do sistema disponível num computador com vários processadores que esteja a executar o Windows Server 2003
  2. Se utilizar um controlador de dispositivo a MmAllocateContiguousMemory função, e se define o valor da HighestAcceptableAddress parâmetro a menos de 4 gigabytes (GB), o sistema operativo Windows poderá página, conjunto de trabalho de processo do SQL Server de 64 bits. Para resolver este problema, contacte o fornecedor do controlador de dispositivo para actualizações de controladores. Para obter uma lista de controladores que ter encontrado problemas, consulte a secção de "outros fornecedores" no seguinte artigo da Microsoft Knowledge Base:
    2121098 Recomendada actualizações do sistema operativo e controladores para instalações do SQL Server
  3. Se ainda detectar estes problemas depois de aplicar estas correcções, aplica uma correcção do Windows que limita o número de operações de cortes por processo. Para mais informações, clique nos números de artigo seguinte para visualizar os artigos na Microsoft Knowledge Base:
    938486 Um computador baseado no Windows Server 2003 deixa de responder devido a uma operação de limpeza do Gestor de memória que é causada por um módulo indeterminado que solicite muita memória
    956341 Um computador baseado no Windows Server 2003 deixa de responder devido a um pedido de atribuição de memória de grandes dimensões
    Quando um controlador de dispositivo tenta atribuir memória, o sistema operativo Windows poderá página, conjunto de trabalho de outras aplicações. Esta correcção do Windows permite-lhe utilizar o rastreio de eventos para localizar o controlador de dispositivo que faz com que o problema. Para obter mais informações sobre o controlador específico que causa o comportamento de limitação de conjunto de trabalho, consulte o artigo do MSDN"Identificar controladores que atribuir memória contígua."
  4. Aplicações podem utilizar a cache do sistema demasiado e podem causar um crescimento grande da cache do sistema. Para responder ao crescimento da cache do sistema, as páginas do sistema, limite o conjunto de trabalho de processo do SQL Server ou de outras aplicações. Se detectar este problema, pode utilizar algumas funções de gestão de memória na aplicação. Estas funções controlam o espaço de cache de sistema que podem utilizar operações de e/s de ficheiro na aplicação. Por exemplo, pode utilizar o SetSystemFileCacheSize função e o GetSystemFileCacheSize função para controlar o espaço de cache de sistema que podem utilizar operações de e/s de ficheiros.

    Pode utilizar o objecto de desempenho de memória para visualizar os valores de vários contadores neste objecto para determinar se a cache do sistema de conjunto de trabalho utiliza muita memória. Por exemplo, pode ver os contadores de Bytes de Cache e de ' bytes residentes no Cache do sistema '. Para mais informações sobre este tópico, visite os seguintes Web sites da Microsoft:
    http://blogs.msdn.com/ntdebugging/archive/2007/11/27/Too-much-cache.aspx

    http://blogs.msdn.com/ntdebugging/Archive/2009/02/06/Microsoft-Windows-Dynamic-cache-Service.aspx

    http://support.microsoft.com/default.aspx?scid=KB;EN-US; 976618
    Pode transferir e implementar o "Microsoft Windows dinâmico Cache Service" para controlar a memória consumida pela cache do sistema.
  5. Se o SQL Server estiver em execução em conjunto com SAP R/3, poderá detectar um problema de paginação. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
    931308 Poderá detectar um aumento de paginação no disco rígido quando executa um programa de SAP R/3 num computador baseado no Windows Server 2003
  6. Se estiver a executar o SQL Server no Windows Server 2008, tem de aplicar correcções para problemas conhecidos que podem conduzir a trabalhar limitação do conjunto ou o consumo de memória excessiva desnecessários por outros componentes do sistema operativo. Para mais informações, clique nos números de artigo seguinte para visualizar os artigos na Microsoft Knowledge Base:

    971442 O desempenho do sistema do servidor torna-se diminuir drasticamente, uma quando tenta copiar ficheiros de um servidor que esteja a executar o Windows Vista ou Windows Server 2008 através de uma rede

    974609 Um computador com o Windows Server 2008 aleatoriamente deixa de responder quando executa uma aplicação maior

    971714 O processo de geração de relatório poderá deixar de responder quando executa Perfmon.exe com o modelo de diagnósticos do Active Directory para gerar um relatório num controlador de domínio baseado no Windows Server 2008
  7. Se estiver a executar o SQL Server no Windows servir 2008 R2, tem de aplicar correcções para problemas conhecidos que podem conduzir a limitação do conjunto de trabalho. Para mais informações, clique nos números de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
    979149 Um computador que esteja a executar o Windows 7 ou Windows Server 2008 R2 deixa de responder quando executa uma aplicação maior

    2155311 Um fraco desempenho ocorre num computador que tenha processadores baseados em an e que com o Windows Server 2008 R2 ou o Windows 7 se um thread pedidos muita memória que esteja dentro aos primeiros 4GB de memória

    2468345 Computador intermitentemente efectua mal ou deixa de responder quando é utilizado o controlador Storport no Windows Server 2008 R2

Como determinar a memória que é utilizada por versões de 64 bits do SQL Server

Pode utilizar o Monitor de desempenho para ver a página de memória que é utilizada por versões de 64 bits do SQL Server. Para tal, monitorize o contador de desempenho seguintes:
Objecto de desempenho: memória
Contador: Páginas/seg
Para mais informações sobre como utilizar este contador para determinar a página de memória, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
889654 Como determinar o tamanho do ficheiro de página adequada para versões de 64 bits do Windows Server 2003 ou Windows XP
Além disso, pode medir o efeito de paginação em edições de 64 bits do SQL Server, monitorizando os seguintes contadores de desempenho:
Objecto de desempenho: processo
Contador: Bytes privados
Instância: sqlservr

Objecto de desempenho: processo
Contador: Conjunto de trabalho
Instância: sqlservr
O contador de Bytes privados mede a memória actualmente consolidada. O conjunto de trabalho de contador mede a memória física que está actualmente ocupada pelo processo. edições de 64 bits do SQL Server também utilizam o contador de desempenho seguintes para expor a quantidade de memória que atribui o conjunto de memória intermédia:
Objecto de desempenho: Gestor de servidor: memória SQL
Contador: Total Server Memory(KB)
Nota Se a instância da edição de 64 bits do SQL Server é uma instância nomeada, o nome do objecto de desempenho é o seguinte:
MSSQL$InstanceName: Gestor de memória
Se o valor do contador conjunto de trabalho for inferior ao valor do contador Total Memory(KB) do servidor, pelo menos alguma memória que é uma parte do conjunto de memória intermédia foi reduzida do SQL Server conjunto de trabalho.

Depois de atribuir o direito de utilizador de Bloquear páginas na memória e reinicie o serviço SQL Server, o conjunto de memória intermédia de processo do SQL Server ainda responde a eventos de notificação de recursos de memória, e dinamicamente aumenta ou diminui em resposta a estes acontecimentos. No entanto, não conseguir ver atribuições de memória para o conjunto de memória intermédia que estão bloqueadas na memória em seguintes contadores de desempenho:
  • O contador de Bytes privados e o contador de conjunto de trabalho no Monitor de desempenho
  • A coluna de Utilização da memória no separador processos no Gestor de tarefas
Depois destas páginas estão bloqueadas, estes contadores de desempenho representam as atribuições de memória no processo do SQL Server quando referidas atribuições não utilizam o conjunto de memória intermédia. O contador de Total Memory(KB) do servidor do objecto de desempenho do SQL Server: memória Manager representa com exactidão a memória para o conjunto de memória intermédia atribuída.

Considerações importantes antes de atribuir o utilizador "Bloquear páginas na memória" direito de uma instância de uma edição de 64 bits do SQL Server

Deve certificar considerações adicionais antes de atribuir o utilizador de Bloquear páginas na memória direita. Se atribuir este utilizador para a direita em sistemas que não estão configuradas correctamente, o sistema pode tornar-se instável ou detectar uma diminuição de desempenho de todo o sistema. Além disso, 333 de ID de evento poderão ser registado no registo de eventos.

Se contactar o serviço de suporte a clientes da Microsoft (CSS) para estes problemas, poderão pedir engenheiros CSS que revogar este direito de utilizador para a conta de utilizador que é utilizado como a conta de início do serviço SQL Server. Este passo poderá ser necessário recolher dados de desempenho importante que os engenheiros CSS podem utilizar para configuração necessárias das várias opções para o SQL Server e para outras aplicações em execução no sistema. Depois de engenheiros CSS recolhem os dados de desempenho, pode atribuir o utilizador de Bloquear páginas na memória para a direita para a conta de início do serviço SQL Server.

Antes de atribuir o direito de utilizador de Bloquear páginas na memória , certifique-se de que capture um registo do Monitor de desempenho para determinar os requisitos de memória de várias aplicações e serviços que estão instalados no sistema. Estas aplicações também incluem o SQL Server. Para determinar os requisitos de memória, recolha as seguintes informações do plano base:
  • Certifique-se de que defina correctamente a opção de memória do servidor máximo e a opção de memória do servidor min . Estas opções reflectem apenas os requisitos de memória do conjunto de memória intermédia de processo do SQL Server. Estas opções não incluem a memória atribuída para outros componentes no âmbito do processo de SQL Server. Estes componentes incluem o seguinte:
    • Os threads de trabalho do SQL Server
    • O alocador com várias páginas do Gestor de memória do servidor SQL
    • Várias DLLs e componentes que o processo de SQL Server é carregada no espaço de endereço do processo do SQL Server
    • As operações de cópia de segurança e restauro
  • Os componentes e DLLs incluem vários fornecedores de OLE DB, procedimentos armazenados estendidos, objectos do Microsoft COM que são utilizados para o procedimento armazenado sp_OACreate , servidores ligados e SQL Server CLR. Memória atribuída para estes componentes pertencentes a região do conjunto de nonbuffer de espaço de endereço do processo do SQL Server. Idealmente, determinar a quantidade máxima de memória que pode utilizar todo o processo do SQL Server, tem de subtrair a memória atribuída para componentes que não utilizam o agrupamento de memória intermédia de que pretende que o processo do SQL Server para utilizar o total de memória. Em seguida, pode utilizar o valor restante para definir a opção de memória do servidor máx . Antes de definir a opção de memória do servidor máximo e a opção de memória do servidor min , deve rever cuidadosamente o tópico "Definindo as opções de memória manualmente" no SQL Server Books Online.
  • Determine os requisitos de memória de outras aplicações e dos componentes de sistema operativo do Windows. Aplicações podem ser outros componentes do SQL Server, por exemplo, SQL Server Agent, agentes de replicação do SQL Server, SQL Server Reporting Services, SQL Server Analysis Services, SQL Server Integration Services e pesquisa de texto completo do SQL Server. Aplicações que efectuam operações de cópia de segurança e de operações de cópia de ficheiro podem usar muita memória. Considere operações como a cópia em massa e o Snapshot Agent que geram e/s de ficheiro. Tem de considerar os requisitos de memória de todas as aplicações quando determinar o valor da opção de memória do servidor máximo e da opção de memória do servidor min . Pode utilizar o contador de Bytes privados e o contador de conjunto de trabalho sob o objecto de processo para cada processo para determinar os requisitos de memória de um processo específico.
  • Por predefinição, o direito de utilizador de Bloquear páginas na memória já foi atribuído à conta Sistema Local incorporada. Para mais informações, visite o seguinte Web site da Microsoft:
    http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-Assign-the-Lock-Privilege-for-local-System.aspx
  • Se utilizar uma conta de utilizador do Windows globalmente para todos os processos de SQL Server num domínio, determine os direitos de utilizador que são atribuídos utilizando uma configuração de política de grupo. Um processo de SQL Server de 32 bits pode utilizar esta conta como a conta de início. No entanto, esta conta requer o direito de utilizador de Bloquear páginas na memória para activar a funcionalidade de serviços de informação Internet (AWE, Address Windowing Extensions). Para mais informações, consulte o tópico "Fornecer a quantidade máxima de memória para o SQL Server" no SQL Server Books Online.
  • Antes de configurar a opção de memória do servidor máximo e a opção de memória do servidor min para várias instâncias do SQL Server, considere os requisitos de memória do conjunto de nonbuffer para cada instância do SQL Server. Em seguida, configure estas opções para cada instância do SQL Server.
Idealmente, recolher estas informações do plano base durante as cargas máximas. Por conseguinte, pode determinar os requisitos de memória para várias aplicações e componentes suportar a carga máxima. Os requisitos de memória variam de um sistema para outro sistema, consoante as actividades e as aplicações em execução no sistema.

Como utilizar as informações das memórias intermédias de anel do SQL Server para determinar as condições de memória quando ocorrerá a paginação

Pode utilizar informações das memórias intermédias de anel do SQL Server para determinar as condições de memória no servidor quando ocorrerá a paginação. Pode utilizar um script como o script seguinte para obter esta informação.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

Nota Esta consulta é válida para o SQL Server 2005 e SQL Server 2008.

É possível consultar as informações que são fornecidas com o sys.dm_os_process_memory de vista de gestão dinâmica de compreender se o sistema está a encontrar as condições de falta de memória. Para mais informações, consulte a referência de SQL Server 2008 Books Online no seguinte Web site da MSDN:
http://msdn.microsoft.com/en-us/library/bb510747.aspx
O SQL Server 2008 R2 prática analisador de melhores (SQL Server 2008 R2 BPA) fornece várias regras para detectar situações que podem resultar num conjunto de arbustos de processo do SQL Server a funcionar. O SQL Server 2008 R2 BPA suporta o SQL Server 2008 e o SQL Server 2008 R2.

Reduzir esta tabelaExpandir esta tabela
Software de regraTítulo de regraDescrição da regraVersões de produtos contra os quais a regra é avaliada
Analisador de prática SQL Server 2008 R2 melhores (SQL Server 2008 R2 BPA)
Definições de memória do SQL Server estão incorrectas


Se executar a ferramenta BPA e receber o aviso, "Motor de base de dados - estiverem incorrectas, definições de memória do servidor SQL" é necessário verificar a definição de memória do servidor máximo para esta instância do SQL Server e siga as recomendações na secção "Considerações importantes antes de atribuir o utilizador 'Bloquear páginas na memória' à direita de uma instância de uma edição de 64 bits do SQL Server" deste artigo.SQL Server 2008
SQL Server 2008 R2


Analisador de prática SQL Server 2008 R2 melhores (SQL Server 2008 R2 BPA)Ficheiros de sistema operativo e controladores necessita de actualização para trabalhar a limitação do conjuntoSe executar a ferramenta BPA e detectar o erro, "motor de base de dados - ficheiros de sistema e controladores de funcionamento necessita de actualização para o conjunto de corte, de trabalho" é necessário rever todas as correcções abordadas na secção "Resolução" deste artigo e aplicá-los.
SQL Server 2008
SQL Server 2008 R2

Analisador de prática SQL Server 2008 R2 melhores (SQL Server 2008 R2 BPA)Uma parte significativa de memória do servidor de SQL tem sido paginada para fora
Se executar a ferramenta BPA e detectar o erro "Motor de base de dados - uma parte significativa do SQL Server tiver sido paginada memória," é necessário rever as secções "Resolução" e "Como contornar" deste artigo e tomar as medidas adequadas.
SQL Server 2008
SQL Server 2008 R2


Melhoramentos no Windows Server 2008 e no Windows Server 2008 R2


Windows Server 2008 e Windows Server 2008 R2 melhoram o mecanismo de atribuição de memória contígua. Este melhoramento permite que o Windows Server 2008 e Windows Server 2008 R2 reduzir em certa medida, os efeitos de paginação do conjunto de trabalho de aplicações quando chegarem novos pedidos de memória.

Segue-se uma explicação sobre os melhoramentos do documento técnico do Microsoft "Adiantamentos em memória gestão no Windows":

No Windows Server 2008, a atribuição de memória contígua fisicamente é bastante optimizada. Pedidos de atribuição de memória contígua serão muito mais provável que teve êxito porque o Gestor de memória agora dinamicamente substitui páginas, normalmente, sem reduzir o conjunto de trabalho ou as operações de e/s. Além disso, muitos mais tipos de páginas ? por exemplo, pilhas de kernel e páginas de metadados de sistema de ficheiros, entre outros ? agora são candidatos para substituição. Consequentemente, mais memória contígua é geralmente disponível num dado momento. Além disso, o custo para obter essa atribuição é largamente reduzido.
Para ver o documento técnico "Adiantamentos em memória gestão no Windows", visite o seguinte Website da Microsoft:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4BAE-9fde-d599bac8184a/MemMgt.docx
Para mais informações, visite os seguintes Web sites da Microsoft:
http://blogs.msdn.com/psssql/archive/2008/03/03/SQL-Server-Working-Set-Trim-Problems-consider.aspx
http://support.microsoft.com/KB/2001745
Nota Num computador baseado no Windows Server 2008, tem de instalar o SQL Server Service Pack 2 (SP2) ou um service pack posterior do SQL Server.

Os produtos de outros fabricantes que este artigo aborda são fabricados por empresas independentes da Microsoft. Microsoft oferece nenhuma garantia, expressa ou implícita, relativamente ao desempenho ou fiabilidade destes produtos.

Propriedades

Artigo: 918483 - Última revisão: 20 de junho de 2014 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Palavras-chave: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtpt
Tradução automática
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: 918483

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com