SQL Server 2008 Workgroup Edition no servidor virtual sem troca

4

Eu aluguei um servidor virtual com 4 GB de memória da Hosteurope, incluindo uma licença para o SQL Server 2008 Workgroup Edition. Ele funciona bem e é muito rápido, mas sempre que eu colocar alguma carga nele, ele ficará sem memória e, como resultado, o servidor irá falhar.

Deve-se mencionar que a Hosteurope tem um sistema para seus servidores virtuais que não permite a troca para ser usado no servidor. É por isso que não há arquivo de paginação e quando ele está sem memória, está completamente fora.

A Hosteurope se recusa a ajudar ou assumir qualquer responsabilidade, mas eu realmente espero que alguém aqui na serverfault possa me ajudar.

Eu já tentei definir a configuração "Maximum server memory" no SQL Server para 2000, mas isso não faz nenhuma diferença.

Sintoma do problema O servidor de banco de dados para de aceitar conexões.

Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: provedor de pipes nomeados, erro: 40 - não foi possível abrir uma conexão ao SQL Server)

  • Reiniciar o servidor do SQL Server não corrige o problema.
  • Reiniciar o servidor da web não resolve o problema.
  • Reiniciar o servidor completo no qual o SQL Server está instalado corrige o problema.

... até a próxima vez que houver um pouco de carga nele, ele irá parar de funcionar novamente.

Agora, peço-lhe, por favor:

  • Ajuda a descobrir como encontrar os erros exatos que causam esse comportamento. Eu olhei no log de eventos para o sistema e o aplicativo, mas nenhum deles mostra nada de conclusivo.

  • Ajuda a descobrir como configurar meu servidor / servidor de sql para que ele não trave.

Solução primária Não execute o SQL Server em um servidor Windows com o arquivo de troca / página desabilitado se você deseja colocar carga nele. Isto significa, não escolha HostEurope como seu host se você deseja colocar carga no seu servidor de banco de dados!

Solução secundária Melhore a confiabilidade limitando a quantidade de trabalhadores paralelos no SQL Server, conforme explicado na resposta aceita abaixo.

    
por Niels Brinch 30.11.2011 / 20:36

3 respostas

2

Eu tenho exatamente o mesmo servidor virtual da Host Europe, assim como o mesmo problema. Eu acho que encontrei uma solução.

Parece-me que o paralelismo no servidor resulta nessa questão. O servidor virtual tem 24 CPUs virtuais e isso é demais para 4 GB de RAM. Eu fiz as seguintes alterações na configuração do SQL-instance (eu tenho um sistema alemão eu não sei o texto exato para um SQL Server-Inglês):

  1. Abra as Propriedades para a instância no Management Studio.
  2. Vá para a guia "avançado".
  3. Altere a opção para o paralelismo máximo de 0 a 2.
  4. Na guia de memória, altere a memória máxima do servidor para 1792 MB.

Parece que isso resolveu meu problema.

    
por 26.04.2012 / 20:15
1

Primeiro - o windows não troca por si só, é um pouco diferente (e se você executar o perfmon em seu sistema existente, você notará que ele ainda causa falha de página mesmo sem um arquivo de paginação) veja link para detalhes.

Você disse que o servidor fica sem memória quando você coloca carga nele. Você tem alguns registros ou evidências de que está ficando sem memória? Normalmente, coisas terrivelmente ruins dão errado muito antes que o sql server tenha a chance de negar o acesso se você estivesse realmente sem memória. Deve haver alguns eventos no log de eventos que lhe darão alguma pista sobre o que está acontecendo.

    
por 30.11.2011 / 22:20
0

Habilitar memória máxima do servidor nas configurações atribui 3GB para o servidor sql e 1gb para o servidor Windows.

Pode ser que ajude ...

Atenciosamente,

SivaG

    
por 27.04.2012 / 08:13