LuckyLindy - Ti incoraggio a fermarti per un secondo e verificare che non hai bisogno di SQL Agent. Hai scritto:
Stiamo per implementare una doppia applicazione transazionale web / interna in cui ogni client ha il proprio database. Ogni database è molto piccolo, con meno di 50 MB ciascuno, quindi ci chiedevamo se avrebbe senso usare SQL Express 2008 anziché l'intero SQL Server.
Qual è il tuo piano per i backup? Non è necessario utilizzare SQL Agent, ma sicuramente semplifica la vita di un DBA. È possibile scrivere T-SQL / SMO / PowerShell / qualunque script esegua i backup e quindi eseguirlo tramite sqlcmd o PowerShell utilizzando un'attività pianificata.
Qual è il tuo piano per la manutenzione del database? Nel tempo, tali database dovranno essere deframmentati e verificati per coerenza. La Standard Edition ha tutti i tipi di chicche per renderlo facile mentre, in Express, devi lavorare (sempre con gli script e le attività pianificate).
Come verrai informato dei problemi sul server? L'agente aiuta qui con avvisi per avvisarti quando un registro si sta riempiendo, un disco si sta riempiendo, ecc.
Queste sono attività critiche di tipo DBA di SQL Server. Una cosa è eseguire Express per un'app interna, ma una volta che inizi a dirci che li stai ospitando per i clienti, mi preoccupo :)
La seconda parte ti sta chiedendo quanti clienti prevedi di supportare su questo - sia al lancio che dopo un anno? Se dici "100 client", 100 Express 50 database non saranno sufficienti su Express: non hai abbastanza memoria. Diamine - a seconda di quanto delta hai, potresti raggiungere un massimo di 15 DB, non lo so.
Non avremo mai più di ~ 200 utenti simultanei e la maggior parte delle operazioni sarà più transazionale (il che sembra favorire molti dischi ad alta velocità su RAM / CPU pesanti, giusto?)
Le operazioni transazionali come INSERT sono ancora scritte nella memoria, quindi non aspettarti di aver bisogno di meno supporto di memoria. In effetti, a seconda di quanti INSERT fai, potresti avere maggiori esigenze di memoria rispetto alla maggior parte con quel numero di utenti. Se stai caricando molti dati che le persone non useranno davvero, occuperà comunque memoria. Potresti incorrere in problemi di contesa tra "dati che gli utenti richiedono frequentemente" e "dati che gli utenti stanno caricando e nessuno eseguirà query per un po '". SQL ci protegge preservando i dati che le persone interrogano più frequentemente nella memoria più a lungo, ma avrai ancora contese.
A questo punto, sto vagando lol. E 200 utenti simultanei non si agitano con me neanche per Express. Diciamo che 64k è il requisito medio di memoria di connessione, quante connessioni effettueranno le tue app? Userai il pool di connessioni?
Tutto sommato, la mia sensazione di leggere la tua descrizione dice: "No - Express Edition non è abbastanza potente". E odio la Workgroup Edition - penso che sia un cattivo affare - quindi Standard mi sembra giusto.