As limitações do SQL Server Express são o gargalo?

2

Pergunta: Qual é a melhor maneira de determinar se as limitações do SQL Server Express são o gargalo em um ambiente? Existem alguns contadores de desempenho que seriam uma boa indicação, por exemplo? Algumas das informações no monitor de atividades do SQL Server fornecem boas evidências? O limite de tamanho do banco de dados é fácil de verificar, mas os outros são um pouco menos claros. Observar os contadores de perfís do sistema não parece ser a abordagem correta se o Express for restrito em termos de quais recursos ele utilizará.

Uma pergunta relacionada - é possível com o SQL Server testar facilmente a edição Standard sem ter que reconfigurar drasticamente as coisas antes ou depois da avaliação? O ideal seria uma maneira de "ligar" os recursos da edição completa em uma instância existente e, em seguida, possivelmente retroceder, se necessário, posteriormente. Se isso não for possível, instalar uma instância separada e mover o banco de dados temporariamente não seria tão ruim.

Plano de fundo: Eu tenho um ambiente no qual o aplicativo principal é um aplicativo de linha de negócios baseado no Windows, com suporte do SQL Server Express. O aplicativo teve desempenho ruim por um longo tempo, mas até recentemente, o hardware, o software e o ambiente geral eram antigos e mal conservados, o que significa que mudar para um novo ambiente com software atualizado e hardware moderno e mais adequado pode ajudar. O fornecedor do aplicativo acreditava que a atualização do SQL Server Express 2008 para 2014 ou acima ajudaria, mas não era prático na época.

Tendo migrado para um ambiente totalmente novo com hardware moderno, o Windows Server 2016 e o SQL Express 2016, o aplicativo ainda está com desempenho insatisfatório. Suspeitamos que isso possa acontecer se o gargalo for de fato as limitações do SQL Server Express; No entanto, não tenho certeza de como determinar definitivamente que esse é o caso e não é outra coisa. O novo ambiente tem amplos recursos em termos de CPU, memória e disco, então acho improvável, mas eu preferiria ter alguma prova sólida.

No mínimo, é um pouco mais lento do que antes, talvez devido ao mecanismo de banco de dados SQL e ao aplicativo sendo executado em VMs separadas (embora no mesmo comutador virtual), enquanto anteriormente eles estavam sendo executados na mesma caixa física.

Como qualquer um que já tenha investigado, o SQL Server completo não é barato, então o caso de negócios precisaria ser apoiado por evidências sólidas de que isso é o que é necessário e definitivamente fornecerá um impulso.

    
por dbr 11.10.2017 / 12:10

1 resposta

1

como você afirmou, o aplicativo está em execução por muito tempo, então eu diria que a usabilidade e o volume de uso mudaram desde então, o que poderia causar a degradação do desempenho. O SQL Express tem limitações de recursos que podem afetar diretamente o problema de desempenho que você está enfrentando. Mesmo que você tenha um hardware bem especificado, o SQL pode nem mesmo usá-lo.

As principais limitações são as seguintes (SQL2012-2016):

  1. memória disponível para o buffer pool: 1.2GB
  2. número máximo de núcleos de CPU: limitado a menos de 1 soquete ou 4 núcleos
  3. tamanho do banco de dados: 10 GB

Com relação à outra pergunta: Sim, você poderia fazer uma instalação lado-a-lado da edição Standard para o período de trilha para ver como funciona, ou até mesmo uma edição Developer em um servidor TEST, que tem todos os recursos disponível na edição Enterprise e é gratuito.

Basicamente, você precisará fazer backup do banco de dados na edição Express e no Restore na nova instância. Além disso, você precisaria alterar a string de conexão do aplicativo para apontar para a nova instância nomeada.

A questão é que seus problemas de desempenho podem ser ou não devido às limitações da edição Express. Seria interessante fazer uma investigação mais profunda sobre como as coisas estão funcionando dentro do SQL, como o que o SQL Server está esperando, o que está consumindo mais os recursos, as consultas que exigem mais recursos e assim por diante.

Aqui você tem como fazer uma verificação de desempenho gratuita no seu sistema, se você não souber exatamente como interpretar os resultados, publicá-los aqui, tenho certeza de que haverá alguém para ajudar.

Como fazer uma verificação de integridade gratuita do SQL Server

Como fazer uma verificação de desempenho gratuita do SQL Server

    
por 12.10.2017 / 16:42