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

Установка одного или нескольких экземпляров SQLServer Express

Из-за сбоя оборудования мы переносим установленное программное обеспечение с одного сервера на новый. Есть две части программного обеспечения (vmware vcenter и symantec backup exec), которые полагаются на отдельные экземпляры SQLServer Express.

Первоначальная настройка этого программного обеспечения (обоих) была выполнена внешней компанией, и, похоже, они следовали следующий -> ...---> следующий -> конец подход к установке программного обеспечения, заканчивающийся тем, что каждая часть программного обеспечения имеет собственный экземпляр SQLServer Express.

Мой вопрос: это лучший вариант, или лучше всего хранить все базы данных в одном экземпляре SQLServer Express?

Обычный аргумент против нескольких экземпляров SQL Server на одном компьютере заключается в том, что для каждого экземпляра используются дополнительные ресурсы. Это означает дополнительное дисковое пространство для всей копии двоичных файлов SQL Server, системных баз данных и других различных файлов. Существуют накладные расходы на ЦП, поток и ОЗУ, связанные с запуском самого двоичного файла сервера. Самыми большими блоками ресурсов могут быть два отдельных кэша данных. Наличие двух кешей данных, которые могут препятствовать эффективному использованию ОЗУ одним или другим экземпляром, в зависимости от размера базы данных, способа запроса системы и ее настройки. Также будет дополнительное время для администрирования дополнительных экземпляров. Например, будет два задания резервного копирования, которые нужно создать и наблюдать, два задания переиндексации, которые нужно создать и просмотреть, минимальное и максимальное значения ОЗУ для настройки и т. Д. Вам может потребоваться открыть дополнительные порты брандмауэра для каждого дополнительного экземпляра.

Самый популярный (и лучший, IMO) аргумент в пользу нескольких экземпляров заключается в том, что два разных приложения требуют как можно большей изоляции друг от друга с точки зрения безопасности. IIRC, эта функция изначально предназначалась для того, чтобы помочь поставщикам PaaS предоставлять клиентам SQL Server в те дни, когда виртуализация не была готова к использованию в прайм-тайм, и SQL Server (и Windows Server) приходилось устанавливать на «голом железе». Ясно, что этих клиентов необходимо будет полностью изолировать друг от друга, и эти проблемы безопасности сегодня такие же, как и в 2000 году.

Некоторым приложениям требуются определенные параметры сортировки для базы данных tempdb, которая используется всеми приложениями, работающими в экземпляре. Это можно решить с помощью нескольких экземпляров. Точно так же, если вашему приложению требуется определенный пакет обновления или уровень оперативного исправления, вы можете сохранить каждый экземпляр с другой версией.

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

(Другое решение для обязательной изоляции - запуск двух виртуализированных операционных систем, каждая со своей собственной установкой SQL Server. Это может обеспечить лучшую изоляцию, но может увеличить затраты на лицензирование и администрирование, а также создать дополнительные накладные расходы на ресурсы компьютер. Тем не менее, я вижу, что все больше и больше администраторов баз данных немедленно переходят на виртуализацию. Возможно, «несколько экземпляров» - это функция, время которой пришло и прошло, по крайней мере, для больших систем, но я не видел никаких признаков того, что Microsoft будет отбрасывать его.)