Limitações do SQL Server Express

135

Meu provedor de hospedagem (Rackspace) está oferecendo um servidor dedicado totalmente gerenciado com a versão Web do SQL Server () instalada. Minha empresa lida com desenvolvimento web e possui mais de 20 clientes usando o ASP.Net + SQL Server 2005.

Estou pensando em reduzir custos instalando o SQL Server 2008 Express gratuito. Estou ciente das limitações de 1 GB de RAM e 4 GB / banco de dados (isso está correto?). O que eu gostaria de saber é:

  1. Existe algum limite para o NÚMERO de bancos de dados que posso instalar com a edição expressa?
  2. Existem outras limitações das quais devo ter cuidado? Estou um pouco preocupado em ter que configurar o backup do banco de dados - com a edição expressa pode ser muito mais difícil.
  3. Algum outro conselho?
Vertexwahn
fonte
Existe uma limitação no número de conexões, alguém?
codeulike
5
@ codeulike: não, nunca houve um limite no número de conexões no MSDE / SQL Express, e o "Workload Governor" que limitou o número de conexões ATIVAS a 5 no MSDE foi removido no SQL Express: blogs.msdn.com /b/euanga/archive/2006/03/09/545576.aspx
Tao

Respostas:

147

Existem várias limitações, principalmente:

  • Restringida a uma única CPU (em 2012, essa limitação foi alterada para "O menor de um soquete ou quatro núcleos", possibilitando o uso de vários threads)
  • 1 GB de RAM (o mesmo em 2008/2012)
  • Tamanho do banco de dados de 4 GB (aumentado para 10 GB no SQL 2008 R2 e SQL 2012) por banco de dados

http://www.dotnetspider.com/tutorials/SqlServer-Tutorial-158.aspx http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx

Com relação ao número de bancos de dados, este artigo do MSDN diz que não há limite:

O limite de tamanho do banco de dados de 4 GB se aplica apenas aos arquivos de dados e não aos arquivos de log. No entanto, não há limites para o número de bancos de dados que podem ser conectados ao servidor.

No entanto, conforme mencionado nos comentários e acima, o limite de tamanho do banco de dados foi aumentado para 10 GB em 2008 R2 e 2012. Além disso, esse limite de 10 GB se aplica apenas a dados relacionais e os dados do Filestream não contam para esse limite ( http: // msdn .microsoft.com / pt-br / library / bb895334.aspx ).

SqlRyan
fonte
Oi, Como mencionado acima, eu estou bem com essas limitações - só estou preocupado com o não real. de bancos de dados - alguma idéia sobre isso?
4
@ David Brunelle: A limitação de 4 GB é por banco de dados, tanto quanto eu o entendo. No artigo do MSDN, diz: "Os bancos de dados têm um tamanho máximo de 4 GB". Veja também esta pergunta: stackoverflow.com/questions/955926/sql-server-express-4gb-limit
Sub-Star
6
Esta resposta pode ser atualizada, o SQL Server 2008 R2 permite até 10 GB por banco de dados.
Tao
3
@RudolfDvoracek De acordo com msdn.microsoft.com/en-us/library/bb895334.aspx , o Filestream não conta para esse limite: "O SQL Server Express oferece suporte ao FILESTREAM. O limite de tamanho de banco de dados de 10 GB não inclui o contêiner de dados FILESTREAM . "
SqlRyan
1
Os limites de CPU e RAM são por instância, enquanto o Express suporta 50 instâncias por servidor.
Hans Malherbe
14

Outra limitação a considerar é que as edições do SQL Server Express entram em modo inativo após um período de desuso.

Noções básicas sobre o comportamento do SQL Express: Uso de recursos de tempo ocioso, AUTO_CLOSE e Instâncias do usuário :

Quando o SQL Express está ocioso, ele recupera agressivamente a memória de trabalho configurada, gravando os dados em cache de volta no disco e liberando a memória.

Mas isso é facilmente contornado: existe uma maneira de impedir o SQL Express 2008 de ficar ocioso?

agentnega
fonte
12

Você pode criar instâncias do usuário e fazer com que cada aplicativo fale com seu próprio SQL Express.

Não há limite para o número de bancos de dados.

Remus Rusanu
fonte
Como podemos criar 100 bancos de dados, contanto que o tamanho total não exceda 4 GB ou podemos criar 100 bancos de dados, cada um com até 4 GB?
PRINCESS FLUFF
7
Cada banco de dados individual deve ter menos de 4 GB.
Remus Rusanu
Boa idéia, como em instâncias separadas, cada instância deve poder usar seu próprio 1 GByte de memória e 1 CPU.
treaschf 27/07/10
Se duas instâncias do usuário estiverem conectadas ao mesmo arquivo .mdf, isso não causará problemas?
ingredient_15939
O sql express permitirá a instalação de várias instâncias? Não será atingido pelos limites de recursos? Ou seja, todas as 5 instâncias sql juntas ainda só poderão usar 1 GB de RAM?
Zapnologica
4

Se você alternar da Web para o Express, não poderá mais usar o serviço SQL Server Agent, portanto, você precisará configurar um agendador diferente para manutenção e backups.

Jason Cumberland
fonte
4

Você não pode instalar o Integration Services com ele. O Express não suporta o Integration Services. Portanto, se você deseja construir, digamos, pacotes SSIS, precisará pelo menos da Standard Edition.

Veja mais aqui .

niklasolsn
fonte