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

Последствия наличия IIS на компьютере с SQL Server 2008 R2

приложение должно иметь IIS в том же окне служб Reporting Services.

Сегодня SSRS и SQL остаются в одном кластере.

Мне нужно оценить варианты, которые для меня:

  1. Установка IIS на оба узла кластера
  2. Установка IIS и служб Reporting Services на другой компьютер

Мне нужно выяснить, каковы плохие и хорошие стороны наличия IIS вместе с SQL.

И плохие, и хорошие стороны другого пути.

Я знаю, что цена высока, если у вас есть другая машина (или виртуальная машина) только с службами отчетов и IIS.

Но каковы недостатки наличия IIS на машине SQL?

PS: Все это есть в моей интрасети, не разглашается.

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

Фактически службы Reporting Services раньше запускались в IIS как веб-приложение: только с SQL Server 2008 они стали самостоятельными приложениями, больше не зависящими от IIS; до этого службы Reporting Services обязательный IIS для запуска.

Теперь о вашей настройке: если вы хотите запустить IIS на обоих узлах кластера, вы должны знать, что IIS не предназначен для кластеризации, но для балансировки нагрузки; Это жестяная банка работать в активном / пассивном кластере, но вам нужно будет предпринять дополнительные шаги, чтобы обеспечить плавное переключение с одного узла на другой. Точные шаги зависят от того, что делает ваше приложение.

Важная вещь, которую вы захотите оценить при запуске чего-либо параллельно с SQL Server, - это то, как настроить использование памяти SQL Server. По умолчанию он настроен на использование максимального объема доступной системной памяти и будет активно пытаться это сделать. Он будет загружать целые базы данных в память в максимально возможной степени, поэтому, если у вас есть большие базы данных, вы захотите установить для параметра Maximum Server Memory значение, которое позволит вам иметь достаточно памяти и для IIS.

Сделать это можно двумя способами:

В SQL Server Management Studio щелкните правой кнопкой мыши экземпляр сервера в обозревателе объектов и выберите «Память» в списке страниц. Установите значение в поле Максимальная память сервера.

или

Запустите это:

sp_configure 'show advanced options',1
GO

RECONFIGURE
GO

sp_configure 'max server memory (MB)',[some value]
GO

RECONFIGURE
GO

заменив [некоторое значение] объемом памяти в МБ, которым вы хотите ограничить SQL Server.

Это простая математика.

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

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

Пока все настроено правильно, пароли достаточно сложные, и люди не могут загружать произвольный код на ваш сервер; Минусов особо не вижу.

Обратной стороной наличия нескольких ящиков IIS (при условии, что вы здесь запускаете какое-то веб-приложение) является то, что вам нужно будет рассмотреть варианты управления сеансом; если кто-то переходит с IIS1 на IIS2 и не может обмениваться состояниями сеанса, у вас, вероятно, возникнут проблемы (может показаться, что он не вошел в систему внезапно, и тому подобное).