Я использую сервер SQL EXPRESS 2005, на котором сейчас размещено около 50 баз данных. Базы данных обслуживают веб-сайты CMS / электронной коммерции клиентов. Подключены к одному экземпляру, подключенные пользователем экземпляры не используются. Средний размер БД составляет 5 МБ, самый большой - 20 МБ. Веб-сайт в основном имеет низкий трафик, загрузка ЦП <10%, а процесс SQL использует не более 350 МБ ОЗУ.
На данный момент я нахожусь в пределах экспресс-ограничений SQL-сервера в 1 ЦП / 1 ГБ ОЗУ. В грядущем расширении количество баз данных может удвоиться. Если предположить линейный рост требований, предел в 1 ГБ все равно не будет достигнут. Но меня беспокоит, что количество (> 100) баз данных может стать проблемой. Я не уверен, является ли этот сценарий использования тем, что Microsoft имела в виду для экспресс-доставки.
Есть ли какая-либо информация или, желательно, реальный опыт относительно возможности SQL Server Express обрабатывать множество небольших баз данных? Могу ли я рассчитывать, что он будет работать со 150 базами данных, или мне следует начать работу по миграции на другие серверы баз данных / файловые базы данных?
Этот ответ НЕПРАВДА. SQL Express будет использовать один процессор для каждого сокета. Это означает, что используются ВСЕ ядра. Это четко указано в схемах лицензирования для SQL и на странице SQL Express здесь: http://support.microsoft.com/default.aspx/kb/914278 Следовательно, будут использоваться все ядра, и если чип использует гиперпоточность, все они также будут использоваться. Он ограничен только одним ФИЗИЧЕСКИМ ЦП независимо от ядер и многопоточности.
Не в реальном мире, но ...
Согласно данным приложений баз данных Beginning SQL server 2005 Express Рик Добсон
«Максимальное количество баз данных на сервере базы данных - 32767»
Меня беспокоит ограничение памяти в 1 ГБ. Я уверен, что есть кто-то, кто запускает экспресс с более чем 100 дБ, надеюсь, они прочитают это.
Ограничений на количество баз данных нет, однако существует ограничение в 4 ГБ на базу данных. Хотя как вы обойдетесь без агента SQL Server, мне непонятно. Я предполагаю, что вы столкнетесь с ограничением памяти, прежде чем столкнетесь с каким-либо ограничением SQL-сервера.
Отредактировано для добавления
Предел ОЗУ в 1 ГБ - это предел памяти, доступный для буферного пула. Пул буферов используется для хранения страниц данных и другой информации. Однако память, необходимая для отслеживания соединений, блокировок и т. Д., Не учитывается в пределе буферного пула. Следовательно, возможно, что сервер будет использовать в общей сложности более 1 ГБ, но он никогда не будет использовать более 1 ГБ для пула буферов. Расширения адресного окна (AWE) или доступ к данным 3 ГБ не поддерживаются или не требуются.
Из Вот.
Согласно Обзор выпуска SQL Server 2005 Express:
нет ограничений на количество баз данных, которые могут быть подключены к серверу.
Итак, предел - это то, какую производительность вы можете использовать на сервере. Учтите, что, поскольку экспресс-версия будет использовать только одно ядро ЦП, если у вас четырехъядерный процессор, он не может использовать более 25%.
Если позже вы обнаружите, что вам нужно использовать больше производительности сервера, вы можете довольно легко перейти на другую версию SQL Server.