Другие выпуски SQL-сервера получают Вас вещи как SQL Agent, таким образом, можно запланировать сопровождение базы данных и другие задания.
Пока Ваша база данных может соответствовать скручиванию жгутов пределы выпуска Экспресса, которым Вы будете очень хорошо.
SQL-серверу нравится много RAM.Чем больше, тем лучше. Поскольку SQL Server не может загрузить данные в кэш, это создаст дополнительную нагрузку для дисков. Необходимо посмотреть на Web Edition или выпуск Рабочей станции SQL Server. Те выпуски имеют более высокие пределы, чем выпуск Экспресса, но стоят меньше, чем Standard Edition.
Если Вы действительно запускаете с выпуска Экспресса, можно всегда обновить позже до Standard Edition после покупки лицензии.
Несколько производственных проблем и обходных решений, которые я имел с выпуском Экспресса:
Запланированное резервное копирование
SSIS
Профилирование
При чтении Лицензии SQL Server Вы не должны покупать дополнительную лицензию на пассивный сервер, если его только используемый для обработки отказа и это не служит запросам до Ваших первых сбоев сервера.
Мы использовали SQL Server Express для довольно длинного, и его польза и намного лучше затем более ранний механизм данных Microsoft, у нас есть более затем 200 simulatenous соединений, но у нас только есть одна база данных размера 2 ГБ, и все гладко. У нас никогда не было проблем, если мы избегаем дорогих соединений, и мы делаем хорошую индексацию. Теперь мы используем Стандарт SQL, но пока Ваш размер базы данных не больше затем 4 ГБ, и Ваше число пользователей менее затем 200-500, можно, конечно, жить с SQL Express.
SQL Server Express использует немного меньше объема потребляемой памяти ~200MB, где еще Стандартный выпуск использует ~1.5GB, вероятно, потому что стандартный выпуск сделает большое кэширование. Ваши запросы будут медленнее в Экспрессе в немногих миллисекундах по сравнению со стандартным выпуском. Выпуск Unfortunately Express не использует многоядерные CPU (thats ограниченная функция), таким образом, это не очень поможет, есть ли у Вас 2 ядра или 4 ядра.
LuckyLindy - Я поощрил бы Вас останавливаться на только секунду и проверять, что Вам не нужен SQL Agent. Вы записали:
Мы собираемся развернуть двойное веб-/внутреннее транзакционное приложение, где у каждого клиента есть их собственная база данных. Каждая база данных является очень маленькой - менее чем 50 МБ каждый, таким образом, мы задавались вопросом, будет ли иметь смысл использовать SQL Express 2008 вместо полного SQL Server.
Каков Ваш план относительно резервных копий? Вы не должны использовать SQL Agent, но он уверенный делает жизнь DBA легче. Вы могли записать T-SQL/SMO/PowerShell/whatever сценарии, которые делают Ваши резервные копии и затем выполняются через sqlcmd или PowerShell с помощью Запланированной задачи.
Каков Ваш план относительно сопровождения базы данных? Со временем те базы данных должны будут дефрагментироваться и проверяться на непротиворечивость. Standard Edition имеет все виды положительных героев для создания этого легким, тогда как в Экспрессе необходимо работать (снова со сценариями и запланированными задачами).
Как Вы будете уведомлены относительно проблем на сервере? Агент помогает здесь с Предупреждениями уведомить Вас, когда журнал становится полным, диск заполняется и т.д.
Это критические задачи типа DBA SQL Server. Это - одна вещь выполнить Экспресс для внутреннего приложения, но после того как Вы начинаете говорить нам о хостинге их для клиентов я волнуюсь :)
Часть 2 этого спрашивает Вас, сколько клиентов Вы планируете поддержку на этом - и в запуске и после одного года? Если Вы скажете, то "100 клиентов", затем 100 баз данных 50 МБ не будут достаточны на Экспрессе - у Вас просто нет достаточной памяти. Heck - в зависимости от того, сколько дельты Вы имеете, Вы могли бы истратить в 15 DBS, я не знаю.
У нас никогда не будет больше чем ~200 параллельных пользователей, и большинство операций будет более транзакционным (который, кажется, способствует большому количеству высокоскоростных дисков по тяжелой RAM/ЦП, правильно?)
Транзакционные операции, такие как ВСТАВКИ все еще записаны в память, так не ожидайте необходимость в меньшей поддержке памяти. На самом деле, в зависимости от того, сколько ВВОДИТ Вас, делают, у Вас могли бы быть большие потребности памяти, чем большинство с тем числом пользователей. При загрузке большого количества данных, которые люди не будут действительно использовать затем, это все еще занимает память. Вы могли бы столкнуться с состязательными проблемами между "данными, которые пользователи запрашивают часто" и "данные, которые пользователи загружают, который никто не запросит некоторое время". SQL защищает нас путем сохранения людей данных, запрашивают более часто в памяти дольше, но у Вас все еще будет конкуренция.
На данном этапе я околачиваюсь lol. И 200 параллельных пользователей не насмехаются со мной ни над одним для Экспресса. Скажем, 64k является средним требованием к памяти соединения, сколько связей Ваши приложения установят? Вы будете использовать организацию пула подключений?
В целом, мое инстинктивное чувство от чтения Вашего описания говорит, "Нет - Express Edition просто не достаточно мощно". И я ненавижу Выпуск Рабочей группы - думают, что это - мошенничество - настолько Стандартный, кажется правильным мне.
Вы рассмотрели использование одного из свободного DBMS (MySQL, PostreSQL...)? Это облегчило бы Ваше лицензирование проблем?
Если это не опция, SQL Server Express походит на хорошее решение.
Его, безусловно, можно использовать для важных производственных приложений. Мы использовали его в более чем 1500 медицинских клиниках, где были установлены отдельные экземпляры SQL Server Express для обработки миллионов транзакций каждый день. Вы можете легко обойти недостаток агента SQL Server, используя одно из следующих действий:
См. Отличную презентацию Майкла Оти (в Google) на тему «Использование SQL Server Express в производственной среде».