SQL Server Web Edition — это специальная редакция серверной СУБД от Microsoft, заточенная под хостинг и веб-приложения. Стоит дешевле Standard и Enterprise, но при этом покрывает большинство задач, которые возникают у владельцев сайтов, интернет-магазинов и SaaS-платформ. Лицензируется только через провайдеров хостинга по программе SPLA.
Кому вообще нужна Web Edition?
Вот представьте ситуацию. У вас интернет-магазин на ASP.NET, трафик растёт, а бюджет на инфраструктуру — нет. Брать Enterprise за космические деньги? Ну уж нет. Standard тоже кусается. А вот Web Edition — это как раз тот случай, когда платишь за то, что реально используешь.
Работает? Ещё как.
Мой знакомый Дима, который держит три сайта на своём Dell PowerEdge T340, перешёл на Web Edition два года назад. Говорит, разницы в производительности по сравнению со Standard вообще не заметил. А экономия — ощутимая, примерно в три раза по сравнению с предыдущей лицензией.
Кстати, Web Edition нельзя просто так пойти и купить в розницу. Это важный момент. Лицензия доступна только через программу SPLA (Services Provider License Agreement). То есть хостинг-провайдер покупает лицензии оптом и предоставляет их своим клиентам в рамках услуг хостинга.
Какие ограничения у Web Edition
Давайте честно разберём, что можно и чего нельзя. Потому что ограничения есть, и некоторые из них могут оказаться критичными для вашего проекта (а могут и нет).
- Максимум 64 ГБ оперативной памяти для buffer pool — для большинства веб-проектов хватает с головой
- До 16 ядер процессора — для типичного веб-приложения более чем достаточно
- Нет поддержки Always On Availability Groups — а вот это уже может быть проблемой
- Нет Resource Governor — управление ресурсами придётся делать на уровне ОС
- Отсутствует поддержка In-Memory OLTP
Если честно, для 90% веб-проектов эти ограничения вообще не играют роли. Серьёзно. Вы когда-нибудь упирались в 64 гига RAM на сервере баз данных для интернет-магазина? Вряд ли.
Web Edition vs Express — в чём разница
Многие путают эти две редакции (ну, понятно почему — обе кажутся «бюджетными»). Но разница огромная.
Express бесплатная. Это плюс. Но у неё жёсткие лимиты: максимум 10 ГБ на базу данных, 1 ГБ оперативки для движка, 4 ядра. Для маленького проекта или прототипа — нормально. Для продакшена с реальной нагрузкой — так себе идея.
Web Edition — совсем другой уровень. 524 ПБ максимальный размер базы, 64 ГБ RAM, 16 ядер. Плюс полноценный SQL Server Agent для автоматизации задач. В Express его нет, и это реально неудобно, приходится городить костыли на Task Scheduler.
А ещё в Web Edition доступны:
- Полнотекстовый поиск без ограничений
- Репликация данных
- Сжатие бэкапов (экономит кучу места на дисках)
- Полноценный SQL Server Agent
- Database Mirroring
Короче, Web Edition — это по сути Standard Edition с урезанным функционалом, но по цене, которая не вызывает инфаркт у бухгалтерии.
Как это выглядит на практике
Расскажу реальный кейс. Мой коллега Артём настраивал инфраструктуру для онлайн-школы на своём HP ProLiant DL360 Gen10. Платформа на .NET Core, сначала хотели PostgreSQL использовать, но потом решили перейти на SQL Server из-за тесной интеграции с Entity Framework и визуальными инструментами отладки в SSMS.
Что выбрал? Web Edition. Почему?
Первое — база данных на тот момент весила 15 ГБ. Express отпадает сразу, у него лимит 10 ГБ на одну базу.
Второе — нужен был SQL Server Agent для ночных задач по рассылке отчётов преподавателям и очистке временных таблиц.
Третье — бюджет. Standard стоил бы в три-четыре раза дороже, а нужных enterprise-фич всё равно не требовалось.
Прошло полтора года. База выросла до 45 ГБ. Одновременных подключений — около 200. Всё летает. Ни одного инцидента, связанного с ограничениями редакции. Знаете что смешно? Они до сих пор даже половину доступной памяти не используют.
Установка и настройка
Тут такое дело — установка Web Edition ничем не отличается от установки любой другой редакции SQL Server. Тот же инсталлятор, те же шаги. Просто на этапе выбора редакции указываете Web и вводите ключик продукта.
-- Проверяем, какая редакция стоит на сервере
-- Полезная штука, когда наследуешь чужой сервак
SELECT SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductVersion') AS Version,
SERVERPROPERTY('ProductLevel') AS ServicePack;Ну и после установки не забудьте про базовые вещи: настроить tempdb на нескольких файлах (по количеству ядер, но не больше 8), включить мгновенную инициализацию файлов, выставить max memory.
-- Ставим максимум памяти, чтобы винда не задыхалась
-- Оставляем ОС хотя бы 4 гига, остальное SQL Server'у
EXEC sp_configure 'max server memory', 60000;
RECONFIGURE;Вопрос лицензирования
Лицензирование SQL Server — та ещё головная боль (а кто нет?). Но с Web Edition всё относительно просто. Лицензия считается по ядрам, минимум — 4 ядра. Доступна только через хостинг-провайдера или по программе SPLA.
Если вам нужна лицензия SQL Server для своего проекта, можно посмотреть варианты на keytrust24.store — там бывают адекватные цены на серверные продукты Microsoft.
Важный момент — Web Edition нельзя использовать для внутренних бизнес-приложений. Только для интернет-сервисов, которые доступны через веб. То есть если у вас ERP-система для внутреннего использования — это не ваш вариант, нужен Standard или Enterprise.
Когда пора переходить на Standard
Рано или поздно этот вопрос возникнет (если повезёт — значит, бизнес растёт). Вот признаки того, что Web Edition уже не хватает:
- Вам нужно больше 64 ГБ RAM для buffer pool
- Требуется Always On Availability Groups для отказоустойчивости
- Нужен Resource Governor для управления нагрузкой от разных приложений
- Появились внутренние бизнес-приложения, работающие с той же базой
Грубо говоря, если вы дошли до этого списка — поздравляю, ваш проект вырос. Это хорошая проблема.
Производительность и тюнинг
Отдельно хочу сказать про производительность. Web Edition использует тот же движок, что и Enterprise. Тот же оптимизатор запросов, тот же механизм блокировок, та же система кэширования планов. Разница только в верхних лимитах ресурсов и некоторых корпоративных фичах.
Поэтому все стандартные приёмы оптимизации работают одинаково хорошо:
-- Смотрим самые тяжёлые запросы на сервере
-- Этот скрипт пашет на любой редакции, не только Web
SELECT TOP 10
qs.total_elapsed_time / qs.execution_count AS avg_time,
qs.execution_count,
SUBSTRING(qt.text, qs.statement_start_offset/2 + 1,
(CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE qs.statement_end_offset
END - qs.statement_start_offset) / 2 + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY avg_time DESC;Индексы, статистика, планы выполнения — всё то же самое. Не экономьте на нормальном SSD-хранилище, и ваш сервер на Web Edition будет работать как часы.
Мониторинг и обслуживание Web Edition
Поставить SQL Server и забыть о нём — плохая идея. Даже Web Edition требует базового обслуживания.
Настройте регулярные задачи через SQL Server Agent (который, напоминаю, есть в Web Edition, в отличие от Express). Минимальный набор: ежедневный бэкап баз данных, еженедельная перестройка фрагментированных индексов и обновление статистики.
-- Простой бэкап базы в SQL Server Agent
-- Создайте Job и поставьте на расписание
BACKUP DATABASE MyWebApp
TO DISK = 'D:BackupsMyWebApp_full.bak'
WITH COMPRESSION, INIT;Мой знакомый Максим, DevOps-инженер на ноутбуке ASUS ROG Zephyrus G14, мониторит три Web Edition сервера через бесплатный Grafana с плагином для SQL Server. Дашборд показывает загрузку CPU, использование памяти, количество активных подключений и время ответа на запросы. Говорит, что за последний год поймал два потенциальных инцидента до того, как они стали проблемой для пользователей.
Кстати, не забывайте про обновления. Cumulative Updates для SQL Server выходят каждые два месяца. Ставить каждый не обязательно, но раз в квартал обновляться стоит — там и баги фиксят, и безопасность латают.
Итого
SQL Server Web Edition — отличный выбор для веб-проектов среднего масштаба. Дешевле Standard, мощнее Express, покрывает 90% потребностей типичного интернет-сервиса. Главное — помнить про ограничения лицензии и про лимиты ресурсов.
По факту, если ваш проект — сайт, веб-приложение или SaaS, и вы не хотите переплачивать за функции, которые никогда не используете, Web Edition — ваш вариант. Проверено практикой, подтверждено реальными кейсами.



