Como limitar o uso de memoria pelo SQL Server

Apanho há meses com problemas de alto consumo de memória com o SQL Server, independentemente de sua versão.

Trabalhamos com diversos tipos de aplicativos e, não importa a quantidade de recursos que tenha o servidor, o SQL Server sempre consome exageradamente a utilização de memória. Pensando nisso, pesquisei sobre limitar a quantidade de memória utilizada por esta aplicação de Banco de Dados e, obtive auxílio no Fórum Programação Brasil, sendo muito mais fácil do que imaginava.

Segue:

O limite default de utilizacao de memoria do Sql Server eh de, acreditem ou nao, 2 terabytes.

Para configurarmos adequadamente vamos criar um arquivo de nome limitar_memoria.sql em “C:\”

Digite os comando abaixo no arquivo:

CÓDIGO:

USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure ‘max server memory (MB)’, 512
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure ‘show advanced options’, 0
RECONFIGURE WITH OVERRIDE

digite o seguinte comando para executar o script sql:

CÓDIGO:
osql -E -S servername\MSFW -i c:\sqlmemorylimit.sql

Para apenas ver o limite atual utilize o procedimento acima com as informações abaixo:

em c:\checar_memoria.sql

CÓDIGO:
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure ‘max server memory (MB)’

USE master
EXEC sp_configure ‘show advanced options’, 0
RECONFIGURE WITH OVERRIDE

Execute o comando abaixo:

CÓDIGO:
osql -E -S servername\MSFW -i c:\sqlmemorycheck.sql

Só alegria!