Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете установить и запустить службы SQL Server 2014 Reporting Services (SSRS) и службы IIS на одном компьютере. Версия IIS, используемая вами, определяет проблемы взаимодействия, которые необходимо устранить.
| Применимо к: Нативный режим служб Reporting Services |
| Версия IIS | Проблемы | Описание |
|---|---|---|
| IIS 6.0, 7.0, 8.0, 8.5 | Запросы, предназначенные для одного приложения, принимаются другим приложением. HTTP.SYS применяет правила приоритета для резервирования URL-адресов. Запросы, отправляемые приложениям с одинаковым именем виртуального каталога и которые совместно отслеживают порт 80, могут не достичь целевого объекта, если резервирование URL-адресов слабо относительно резервирования URL-адресов другого приложения. |
В определенных условиях зарегистрированная конечная точка, заменяющая другую конечную точку URL-адреса в схеме резервирования URL-адресов, может получать HTTP-запросы, предназначенные для другого приложения. Использование уникальных имен виртуальных каталогов для веб-службы сервера отчетов и диспетчера отчетов помогает избежать этого конфликта. Подробные сведения об этом сценарии приведены в этом разделе. |
Правила приоритета для резервирования URL-адресов
Прежде чем устранять проблемы с взаимодействием между службами IIS и Reporting Services, необходимо понимать правила приоритета резервирования URL-адресов. Правила приоритета могут быть обобщены в следующем утверждении: резервирование URL-адресов с более четко определенными значениями первым получает запросы, соответствующие URL-адресу.
Резервирование URL-адресов, указывающее виртуальный каталог, является более явным, чем одно из них, которое исключает виртуальный каталог.
Резервирование URL-адресов, указывающее один адрес (через IP-адрес, полное доменное имя, сетевое имя компьютера или имя узла), более точно, чем подстановочный знак.
Резервирование URL-адресов, указывающее сильный подстановочный знак, является более явным, чем слабый подстановочный знак.
В следующих примерах показан диапазон резервирований URL-адресов, упорядоченных от наиболее явных до наименее явных:
| Пример | Просьба |
|---|---|
| http://123.234.345.456:80/reports | Получает все запросы, отправляемые в http://123.234.345.456/reports или http://<computername>/reports, если служба доменных имен может разрешить IP-адрес этого имени узла. |
| http://+:80/reports | Получает все запросы, отправляемые любому IP-адресу или имени узла, допустимому для этого компьютера, если URL-адрес содержит имя виртуального каталога "reports". |
| http://123.234.345.456:80 | Получает любой запрос, указывающий http://123.234.345.456 или http://< computername> , если служба доменных имен может разрешить IP-адрес для этого имени узла. |
| http://+:80 | Получает запросы, которые еще не получены другими приложениями, для конечных точек приложений, сопоставленных со всеми назначенными. |
| http://*:80 | Получает запросы, которые не принимаются другими приложениями, для конечных точек приложений, сопоставленных с Все не назначены. |
Одним из признаков конфликта портов является то, что вы увидите следующее сообщение об ошибке : System.IO.FileLoadException: процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0x80070020).'
Резервирование URL для IIS 6.0, 7.0, 8.0, 8.5 с использованием SQL Server 2014 Reporting Services
Учитывая правила приоритета, описанные в предыдущем разделе, можно понять, как резервирования URL-адресов, определенные для служб Reporting Services и IIS, повышают взаимодействие. Службы Reporting Services получают запросы, явным образом указывающие имена виртуальных каталогов для своих приложений; IIS получает все остальные запросы, которые затем можно направлять в приложения, которые выполняются в модели процессов IIS.
| Заявление | Резервирование URL-адресов | Описание | Получение запроса |
|---|---|---|---|
| Сервер отчетов | http://+:80/ReportServer | Сильный подстановочный символ на порту 80 с виртуальным каталогом сервера отчётов. | Получает все запросы через порт 80, указывающий виртуальный каталог сервера отчетов. Веб-служба сервера отчетов получает все запросы к http://< computername>/reportserver. |
| Диспетчер отчетов | http://+:80/Reports | Подстановочный знак на порту 80 с виртуальным каталогом отчетов. | Получает все запросы через порт 80, указывающий виртуальный каталог отчетов. Диспетчер отчетов получает все запросы на http://< computername>/reports. |
| IIS | http://*:80/ | Недостаточный маскировочный символ на порту 80. | Получает все остальные запросы через порт 80, которые не получаются другим приложением. |
Параллельные развертывания SQL Server 2014 и SQL Server 2005 Reporting Services в СЛУЖБАх IIS 6.0, 7.0, 8.0, 8.5
Проблемы взаимодействия между службами IIS и Reporting Services возникают, когда веб-сайты IIS имеют имена виртуальных каталогов, идентичные тем, которые используются службами Reporting Services. Например, предположим, что у вас есть следующая конфигурация:
Веб-сайт в IIS, назначенный порту 80 и виртуальному каталогу с именем "Отчеты".
Экземпляр сервера отчетов SQL Server 2014, установленный в конфигурации по умолчанию, где резервирование URL-адресов также указывает порт 80, а приложение диспетчера отчетов также использует "Отчеты" для имени виртуального каталога.
Учитывая эту конфигурацию, запрос, отправляемый в диспетчер отчетов http://< компьютерname>:80/reports, будет получен диспетчером отчетов. Приложение, доступ к которому осуществляется через виртуальный каталог отчетов в IIS, больше не будет получать запросы после установки экземпляра сервера отчетов SQL Server 2014.
Если выполняется параллельное развертывание старых и более новых версий служб Reporting Services, скорее всего, возникнет проблема маршрутизации. Это связано с тем, что все версии служб Reporting Services используют "ReportServer" и "Reports" в качестве имен виртуальных каталогов для сервера отчетов и приложений диспетчера отчетов, что повышает вероятность того, что у вас будут виртуальные каталоги "отчеты" и "сервер отчетов" в IIS.
Чтобы убедиться, что все приложения получают запросы, выполните следующие рекомендации.
Для установки служб Reporting Services используйте имена виртуальных каталогов, которые еще не используются веб-сайтом IIS на том же порту, что и службы Reporting Services. Если возникает конфликт, установите службы Reporting Services в режиме "только для файлов" (воспользуйтесь опцией "Установить, но не настраивать сервер" в мастере установки), чтобы можно было настроить виртуальные каталоги после завершения установки. Одним из признаков конфликта конфигурации является сообщение об ошибке: System.IO.FileLoadException: процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0x80070020).
Для установок, которые вы настраиваете вручную, используйте соглашения об именовании по умолчанию в URL-адресах для настройки. Если вы устанавливаете SQL Server 2014 Reporting Services (SSRS) в качестве именованного экземпляра, укажите имя экземпляра при создании виртуального каталога.
См. также
Настройка URL-адресов сервера отчетов (диспетчер конфигурации SSRS)
Настройка URL-адреса (диспетчер конфигурации SSRS)
Установка сервера отчетов в режиме по умолчанию служб Reporting Services