Вопрос: Как лучше всего определить, являются ли ограничения 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):
Что касается другого вопроса: Да, вы можете выполнить параллельную установку стандартной версии на период следования, чтобы увидеть, как она идет, или даже версии для разработчиков на тестовом сервере, который имеет все возможности, доступные на Корпоративная версия, и это бесплатно.
Обычно вам нужно сделать резервную копию базы данных в выпуске Express и восстановить на новом экземпляре. Также вам нужно будет изменить строку подключения приложения, чтобы она указывала на новый именованный экземпляр.
Дело в том, что ваши проблемы с производительностью могут быть связаны или нет из-за ограничений редакции Express. Было бы интересно провести более глубокое исследование того, как все работает внутри SQL, например, чего ожидает SQL Server, что потребляет ресурсы больше всего, наиболее ресурсоемкие запросы и так далее.
Здесь у вас есть, как сделать бесплатную проверку производительности вашей системы. Если вы не знаете, как интерпретировать результаты, опубликуйте их здесь, я уверен, что кто-то поможет.
Как сделать бесплатную проверку работоспособности SQL Server
Как сделать бесплатную проверку производительности SQL Server