LuckyLindy - Eu o encorajo a parar por apenas um segundo e verificar se você não precisa do SQL Agent. Você escreveu:
We are about to roll out a dual
web/internal transactional application
where each client has their own
database. Each database is very small
- under 50MB each, so we were wondering if it would make sense to
use SQL Express 2008 instead of the
full SQL Server.
Qual é o seu plano para backups? Você não precisa usar o SQL Agent, mas certamente torna a vida do DBA mais fácil. Você pode escrever T-SQL / SMO / PowerShell / qualquer script que faça seus backups e, em seguida, executar via sqlcmd ou PowerShell usando uma tarefa agendada.
Qual é o seu plano de manutenção de banco de dados? Com o tempo, esses bancos de dados precisarão ser desfragmentados e verificados quanto à consistência. Standard Edition tem todos os tipos de guloseimas para fazer este e-a-s-y enquanto, no Express, você tem que trabalhar (novamente com o script e as tarefas agendadas).
Como você será notificado sobre problemas no servidor? O agente ajuda aqui com os Alertas a notificá-lo quando um registro estiver ficando cheio, um disco estiver sendo preenchido, etc.
Estas são tarefas críticas do tipo DBA do SQL Server. Uma coisa é executar o Express para um aplicativo interno, mas quando você começa a nos informar que está hospedando esses aplicativos para clientes, fico preocupado:)
Parte 2 disso está perguntando a quantos clientes você planeja apoiar, tanto no lançamento quanto após um ano? Se você disser "100 clientes", então 100 bancos de dados de 50 MB não serão suficientes no Express - você simplesmente não tem memória suficiente. Heck - dependendo de quanto delta você tem, você pode ter no máximo 15 DBs, eu não sei.
We'll never have more than ~200
concurrent users, and most operations
will be more transactional (which
seems to favor lots of high speed
disks over heavy RAM/CPU, right?)
Operações transacionais, como INSERTs, ainda são gravadas na memória, portanto, não espere que você precise de menos suporte de memória. De fato, dependendo de quantos INSERTs você faz, você pode ter maiores necessidades de memória do que a maioria com esse número de usuários. Se você estiver carregando muitos dados que as pessoas não estarão realmente usando, ainda assim ocupará a memória. Você pode encontrar problemas de contenção entre "dados que os usuários estão consultando com freqüência" e "dados que os usuários estão carregando que ninguém irá consultar por um tempo". O SQL nos protege, preservando os dados que as pessoas estão consultando com mais frequência na memória por mais tempo, mas você ainda terá contenção.
Neste ponto, estou divagando lol. E 200 usuários concorrentes não concordam comigo pelo Express. Digamos que 64k é o requisito médio de memória de conexão, quantas conexões seus aplicativos farão? Você usará o pool de conexões?
Tudo somado, meu sentimento de ler sua descrição diz: "No - Express Edition não é poderoso o suficiente." E eu odeio o Workgroup Edition - acho que é um mau negócio - então Standard parece certo para mim.