Como limite o uso de memória do MS SQL Server?

22

Ouvi dizer que o MS SQL Server ocupa o máximo de RAM possível para armazenar em cache os resultados. Bem, não está deixando espaço de barganha suficiente para a RAM do nosso pequeno servidor.

Como altero as configurações para limitar a quantidade de RAM que ele pode usar?

MS SQL Server em execução no Windows Server 2008.

FlavorScape
fonte
3
@ DavidSchwartz: Acho que você descobrirá que muitos DBAs do MS SQL limitarão a quantidade de RAM que o DBE pode usar. Freqüentemente, isso afeta o desempenho de qualquer outra coisa em execução no sistema.
Wfaulk
1
@wfault: " Por padrão, o SQL Server pode alterar dinamicamente seus requisitos de memória com base nos recursos disponíveis do sistema. " Muitas pessoas gostam de mexer com as coisas apenas para mexer com elas, mas o que elas estão realmente fazendo é inibir a capacidade do servidor para se ajustar à mudança de carga. Se não está quebrado, você não pode consertar. Isso geralmente é feito por pessoas que gostam de ver muita memória livre para se sentirem bem, mas, na verdade, qualquer memória livre também não é usada - ou seja, é desperdiçada.
David Schwartz
4
@ DavidSchwartz: Eu entendo de onde você é, e em qualquer outra situação eu concordo com você, mas o MS SQL não parece otimizar isso muito bem, IME.
Whaulk #
1
Na verdade, estava quebrado, pois trituraria o servidor ...
FlavorScape 26/13
1
Eu concordo com esse cara: sqlservercentral.com/blogs/glennberry/2009/10/29/…
Daniel Dolz

Respostas:

24

Em Como configurar opções de memória usando o SQL Server Management Studio :

Use as duas opções de memória do servidor, memória mínima do servidor e memória máxima do servidor , para reconfigurar a quantidade de memória (em megabytes) gerenciada pelo SQL Server Memory Manager para uma instância do SQL Server.

  1. No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades .
  2. Clique no nó de memória .
  3. Em Opções de memória do servidor , insira a quantidade que deseja para Memória mínima do servidor e Memória máxima do servidor .

Você também pode fazê-lo no T-SQL usando os seguintes comandos (exemplo):

exec sp_configure 'max server memory', 1024
reconfigure
wfaulk
fonte
2

Para restringir o consumo de memória do serviço MS SQL:

Definir "memória máxima do servidor" no SQL Server Management Studio

  1. Agora vamos definir a opção "max server memory" para limitar o uso de memória pelo SQL Server. Podemos fazer isso clicando com o botão direito do mouse em nossa instância e escolhendo "Propriedades".

  2. No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades. insira a descrição da imagem aqui

  3. Clique no nó Memória, como mostrado abaixo:

insira a descrição da imagem aqui 4. Em Opções de memória do servidor, digite a quantidade que deseja para Memória máxima do servidor. Abaixo, como você pode ver, estamos configurando a memória máxima do servidor para 4096 MB (ou seja, 4 GB).

insira a descrição da imagem aqui

Para restringir o consumo de memória do serviço MS SQL:

Também podemos definir "memória máxima do servidor" usando um script T-SQL:

O exemplo a seguir define a opção de memória máxima do servidor para 4 GB:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO

Ref: https://technet.microsoft.com/en-us/library/ms191144(v=sql.105).aspx

Kundan Dasange
fonte