У меня такой сценарий:
На двух машинах, скажем, NODE1 и NODE2, установлен Windows Server 2003 в отказоустойчивом кластере, скажем, CLUSTER. В этом кластере SQL Server 2005 был успешно установлен, допустим, виртуальный сервер - это БАЗА ДАННЫХ. Затем SSRS 2005 был установлен на NODE1.
Проблема в том, что приложение, которое будет использовать эту настройку, предполагает, что службы отчетов работают на http: // БАЗА ДАННЫХ / отчеты но, учитывая единственно возможную установку (насколько я могу судить), вы можете получить только http: // NODE1 / reports.
Приложение не может быть изменено, как поступить правильно?
Я подумываю настроить IIS в кластере (и запустить его как виртуальный сервер базы данных) и установить на нем отчеты и веб-приложения сервера отчетов, чтобы проблема исчезла, но я не уверен, действительно ли это возможно ни если это лучший вариант.
Другой вариант, о котором я подумал, - это установить обратный прокси, но опять же я не уверен, как заставить его отвечать на http: // БАЗА ДАННЫХ / отчеты по крайней мере без предварительной установки IIS (и предпринять дополнительные шаги).
Совет?
Вчера я не осознавал, что DATABASE также разрешает текущий активный узел, а не только CLUSTER:
Скажем, DATABASE - это имя кластера, а NODE1 и NODE2 - узлы, тогда DATABASE преобразуется в текущий активный узел, поэтому, если NODE1 является активным узлом, то DATABASE преобразуется в NODE1.
Итак, что нужно сделать, это установить службы отчетов на обоих узлах, причем оба они указывают на одну и ту же базу данных ReportServer в кластере баз данных.
Предположим, у вас уже есть кластер и SQL Server уже установлен в кластерном режиме (требования). Всегда используйте одну и ту же версию (один и тот же SP между службами отчетов на каждом узле).
Затем выполните следующие действия:
Подключитесь к активному узлу (NODE1), установите и настройте на нем службы отчетов, создав базу данных ReportServer в DATABASE (через настройку базы данных укажите соответствующие учетные данные для БД), затем вы также инициализируете базу данных в конфигурации.
Затем подключитесь, установите и настройте службы отчетов на пассивном узле (NODE2), настройте базу данных для существующей базы данных на DATABASE (той, которую вы уже создали, предоставив те же учетные данные для подключения к БД), но НЕ ИНИЦИАЛИЗИРУЙТЕ ЭТО СЕЙЧАС (НА ПАССИВНОМ УЗЛЕ).
Снова подключитесь к активному узлу и снова запустите конфигурацию служб отчетов. Теперь при инициализации вы увидите, что появляется пассивный узел, после чего вы можете инициализировать его оттуда.
Тогда у вас будет два экземпляра служб отчетов, по одному на каждом узле и указывающие на одну и ту же базу данных. И теперь, когда происходит переключение узлов, у вас будет работать другой экземпляр.
Единственная проблема, которую я обнаружил до сих пор, заключается в том, что если вы не открываете журналы и не имеете к ним доступа через \ DATABASE \ C $ \ Program Files \ MSSQL ... \ ReportServer \ Logs, вы должны помнить, какой из них активен узел, чтобы посмотреть журналы.
Это называется «горизонтальное масштабирование служб Reporting Services» и поддерживается только в версии Enterprise (плюс разработчик и ознакомительная версия).
Ссылки:
http://technet.microsoft.com/en-us/library/ms156453(SQL.90).aspx
http://technet.microsoft.com/en-us/library/ms159114(SQL.90).aspx
Чтобы обновить оба сервера отчетов: http://technet.microsoft.com/en-us/library/ms143735(SQL.90).aspx