Назад | Перейти на главную страницу

Являются ли ограничения SQL Server Express узким местом?

Вопрос: Как лучше всего определить, являются ли ограничения SQL Server Express узким местом в среде? Есть ли счетчики производительности, которые, например, могут служить хорошим индикатором? Может ли некоторая информация в мониторе активности SQL Server предоставить убедительные доказательства? Предел размера базы данных легко проверить, но остальные менее ясны. Использование общесистемных счетчиков производительности не кажется правильным, если Express ограничен в том, какие ресурсы он будет использовать.

Связанный с этим вопрос - возможно ли с помощью SQL Server легко испытать стандартную версию без необходимости радикальной перенастройки до или после пробной версии? Идеальным был бы способ «включить» возможности полнофункциональной версии на существующем экземпляре, а затем, возможно, откатиться назад, если это необходимо впоследствии. Если это невозможно, то установка отдельного экземпляра и временное перемещение базы данных было бы неплохо.

Задний план: У меня есть среда, в которой основным приложением является бизнес-приложение на базе Windows, поддерживаемое SQL Server Express. Приложение долгое время работало плохо, но до недавнего времени оборудование, программное обеспечение и общая среда были старыми и плохо обслуживались, а это означает, что переход на новую среду с обновленным программным обеспечением и современным, более адекватным оборудованием вполне может помочь. Поставщик приложения полагал, что обновление с SQL Server Express 2008 до 2014 или выше поможет, но в то время это было непрактично.

После перехода на совершенно новую среду с современным оборудованием, Windows Server 2016 и SQL Express 2016, приложение по-прежнему работает плохо. Мы подозревали, что это может произойти, если узким местом на самом деле являются ограничения SQL Server Express; однако я не уверен, как окончательно определить, что это так, а не что-то еще. Новая среда имеет достаточно ресурсов с точки зрения ЦП, памяти и диска, поэтому я думаю, что это маловероятно, но я бы предпочел иметь какое-нибудь твердое доказательство.

Во всяком случае, это немного медленнее, чем раньше, возможно, из-за того, что ядро ​​базы данных SQL и приложение теперь работают на отдельных виртуальных машинах (хотя и на одном виртуальном коммутаторе), тогда как раньше они оба работали на одном физическом компьютере.

Любой, кто изучал это, знает, что полнофункциональный SQL Server стоит недешево, поэтому бизнес-обоснование должно быть подкреплено твердыми доказательствами того, что это то, что нужно, и определенно даст толчок.

как вы заявили, приложение работает очень долго, поэтому я предполагаю, что с тех пор удобство использования и объем использования изменились, что может привести к снижению производительности. SQL Express имеет ограничения ресурсов, которые могут напрямую повлиять на проблему с производительностью, с которой вы столкнулись. Даже если у вас хорошее оборудование, SQL может даже не использовать его.

Основные ограничения следующие (SQL2012-2016):

  1. память, доступная для буферного пула: 1,2 ГБ
  2. максимальное количество ядер ЦП: ограничено 1 сокетом или 4 ядрами
  3. размер базы данных: 10 ГБ

Что касается другого вопроса: Да, вы можете выполнить параллельную установку стандартной версии на период следования, чтобы увидеть, как она идет, или даже версии для разработчиков на тестовом сервере, который имеет все возможности, доступные на Корпоративная версия, и это бесплатно.

Обычно вам нужно сделать резервную копию базы данных в выпуске Express и восстановить на новом экземпляре. Также вам нужно будет изменить строку подключения приложения, чтобы она указывала на новый именованный экземпляр.

Дело в том, что ваши проблемы с производительностью могут быть связаны или нет из-за ограничений редакции Express. Было бы интересно провести более глубокое исследование того, как все работает внутри SQL, например, чего ожидает SQL Server, что потребляет ресурсы больше всего, наиболее ресурсоемкие запросы и так далее.

Здесь у вас есть, как сделать бесплатную проверку производительности вашей системы. Если вы не знаете, как интерпретировать результаты, опубликуйте их здесь, я уверен, что кто-то поможет.

Как сделать бесплатную проверку работоспособности SQL Server

Как сделать бесплатную проверку производительности SQL Server