Поделиться через


Настройка брандмауэра Windows на разрешение доступа к службам Analysis Services

Важным первым шагом в создании служб Analysis Services или PowerPivot для SharePoint в сети является определение необходимости разблокировать порты в брандмауэре. Большинству установок потребуется создать по крайней мере одно правило брандмауэра с привязкой, которое позволяет подключаться к службам Analysis Services.

Требования к конфигурации брандмауэра зависят от способа установки служб Analysis Services:

  • Откройте TCP-порт 2383 при установке экземпляра по умолчанию или создании отказоустойчивого кластера служб Analysis Services.

  • Откройте TCP-порт 2382 при установке именованного экземпляра. Именованные экземпляры используют динамическое распределение портов. Как служба обнаружения служб Analysis Services, служба браузера SQL Server прослушивает TCP-порт 2382 и перенаправляет запрос подключения на порт, используемый в настоящее время службами Analysis Services.

  • Откройте TCP-порт 2382 при установке служб Analysis Services в режиме SharePoint для поддержки PowerPivot для SharePoint 2013. В PowerPivot для SharePoint 2013 экземпляр служб Analysis Services является внешним для SharePoint. Входящие запросы к именованному экземпляру "PowerPivot" поступают из веб-приложений SharePoint через сетевое подключение, что требует открытого порта. Как и в других именованных экземплярах Analysis Services, создайте правило для входящего трафика для службы SQL Server Browser по протоколу TCP на порт 2382, чтобы разрешить доступ к PowerPivot для SharePoint.

  • Для PowerPivot для SharePoint 2010 не открывайте порты в брандмауэре Windows. В качестве надстройки в SharePoint служба использует порты, настроенные для SharePoint, и делает только локальные подключения к экземпляру служб Analysis Services, который загружает и запрашивает модели данных PowerPivot.

  • Для экземпляров служб Analysis Services, работающих на виртуальных машинах Azure, используйте альтернативные инструкции по настройке доступа к серверу. См. сведения о бизнес-аналитике SQL Server на виртуальных машинах Azure.

Хотя экземпляр служб Analysis Services по умолчанию прослушивает TCP-порт 2383, сервер можно настроить для прослушивания другого фиксированного порта, подключаясь к серверу в этом формате: <имя> сервера:<номер>_порта.

Экземпляр служб Analysis Services использует только один TCP-порт. На компьютерах с несколькими сетевыми картами или несколькими IP-адресами службы Analysis Services использует один TCP-порт для всех IP-адресов, назначенных компьютеру или псевдонимы которых назначены компьютеру. Если у вас есть определенные требования к нескольким портам, рассмотрите возможность настройки служб Analysis Services для доступа по протоколу HTTP. Затем можно настроить несколько конечных точек HTTP на любом выбранном порте. См. Настройка HTTP-доступа к службам Analysis Services на Internet Information Services (IIS) 8.0.

Этот раздел состоит из следующих подразделов.

Дополнительные сведения о настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на компонент Database Engine, службы Analysis Services, службы Reporting Services и службы Integration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.

Проверка параметров порта и брандмауэра для служб Analysis Services

В операционных системах Microsoft Windows, поддерживаемых SQL Server 2014, брандмауэр Windows включен по умолчанию и блокирует удаленные подключения. Чтобы разрешить входящие запросы к службам Analysis Services, необходимо вручную открыть порт в брандмауэре. Программа установки SQL Server не выполняет этот шаг автоматически для вас.

Параметры порта указываются в файле msmdsrv.ini и на странице "Общие свойства" экземпляра служб Analysis Services в SQL Server Management Studio. Если Port задано положительное целое число, служба прослушивает фиксированный порт. Если Port задано значение 0, служба прослушивает порт 2383, если это экземпляр по умолчанию или динамически назначенный порт, если это именованный экземпляр.

Динамические назначения портов используются только именованными экземплярами. Служба MSOLAP$InstanceName определяет, какой порт следует использовать при запуске. Фактический номер порта, используемый именованным экземпляром, можно определить следующим образом:

  • Запустите диспетчер задач и нажмите «Службы», чтобы получить идентификатор процесса MSOLAP$InstanceName.

  • Запустите netstat -ao -p TCP из командной строки, чтобы просмотреть сведения о TCP-порту для этого идентификатора процесса.

  • Проверьте порт с помощью SQL Server Management Studio и подключитесь к серверу служб Analysis Services в этом формате: <IPAddress>:<portnumber>.

Хотя приложение может прослушивать определенный порт, подключения не будут успешными, если брандмауэр блокирует доступ. Чтобы подключения достигли именованного экземпляра служб Analysis Services, необходимо разблокировать доступ к msmdsrv.exe или фиксированному порту, на котором он прослушивается в брандмауэре. Остальные разделы в этом разделе содержат инструкции для этого.

Чтобы проверить, определены ли параметры брандмауэра для служб Analysis Services, используйте брандмауэр Windows с расширенной безопасностью на панели управления. Страница брандмауэра в папке мониторинга содержит полный список правил, определенных для локального сервера.

Обратите внимание, что для служб Analysis Services все правила брандмауэра должны быть определены вручную. Хотя службы Analysis Services и браузер SQL Server резервируют порты 2382 и 2383, ни программа установки SQL Server, ни какие-либо средства настройки не определяют правила брандмауэра, которые разрешают доступ к этим портам или к исполняемым файлам программы.

Настройка брандмауэра Windows для экземпляра служб Analysis Services по умолчанию

Экземпляр Analysis Services по умолчанию прослушивает порт TCP 2383. Если вы установили экземпляр по умолчанию и хотите использовать этот порт, необходимо только разблокировать входящий доступ к TCP-порту 2383 в брандмауэре Windows, чтобы разрешить удаленный доступ к экземпляру служб Analysis Services по умолчанию. Если вы установили экземпляр по умолчанию, но хотите настроить службу для прослушивания на фиксированном порту, см. раздел Использование фиксированного порта для экземпляра служб Analysis Services по умолчанию или для именованного экземпляра в этом разделе.

Чтобы проверить, выполняется ли служба в качестве экземпляра по умолчанию (MSSQLServerOLAPService), проверьте имя службы в диспетчере конфигурации SQL Server. Экземпляр Analysis Services по умолчанию всегда отображается как SQL Server Analysis Services (MSSQLSERVER).

Замечание

Различные операционные системы Windows предоставляют альтернативные инструменты для настройки брандмауэра Windows. Большинство этих средств позволяют выбрать способ открытия определенного порта или исполняемого файла программы. Если у вас нет причины указания исполняемого файла программы, рекомендуется указать порт.

При указании правила для входящего трафика обязательно выполните соглашение об именовании, позволяющее легко найти правила позже (например, SQL Server Analysis Services (TCP-in) 2383).

Брандмауэр Windows в режиме повышенной безопасности

  1. На панели управления Windows 7 или Windows Vista щелкните " Система" и "Безопасность", выберите брандмауэр Windows и нажмите кнопку "Дополнительные параметры". В Windows Server 2008 или 2008 R2 откройте средства администратора и выберите брандмауэр Windows с расширенной безопасностью. В Windows Server 2012 откройте страницу "Приложения" и введите брандмауэр Windows.

  2. Щелкните правой кнопкой мыши входящие правила и выберите Создать правило.

  3. В поле "Тип правила" нажмите кнопку Port"Далее".

  4. В разделе "Протокол и порты" выберите TCP , а затем введите 2383в определенных локальных портах.

  5. В действии нажмите кнопку "Разрешить подключение " и нажмите кнопку "Далее".

  6. В профиле отмените выбор сетевых расположений, которые не применяются, а затем нажмите Далее.

  7. В поле "Имя" введите описательное имя для этого правила (например, SQL Server Analysis Services (tcp-in) 2383), а затем нажмите кнопку "Готово".

  8. Чтобы убедиться, что удаленные подключения включены, откройте SQL Server Management Studio или Excel на другом компьютере и подключитесь к службам Analysis Services, указав сетевое имя сервера в имени сервера.

    Замечание

    Другие пользователи не получат доступ к этому серверу, пока не предоставьте разрешения. Дополнительные сведения см. в разделе "Авторизация доступа к объектам и операциям" (службы Analysis Services).

Синтаксис Netsh AdvFirewall

  • Следующая команда создает правило для входящего трафика, разрешающее входящие запросы через TCP-порт 2383.

    netsh advfirewall firewall add rule name="SQL Server Analysis Services inbound on TCP 2383" dir=in action=allow protocol=TCP localport=2383 profile=domain  
    

Настройка доступа к брандмауэру Windows для именованного экземпляра служб Analysis Services

Именованные экземпляры служб Analysis Services могут использовать фиксированный порт или динамически назначаемый порт, при этом служба обозревателя SQL Server предоставляет актуальные сведения о подключении для данного сервиса в момент подключения.

Служба браузера SQL Server прослушивает TCP-порт 2382. UDP не используется. TCP — это единственный протокол передачи, используемый службами Analysis Services.

Выберите один из следующих подходов, чтобы разрешить удаленный доступ к именованным экземпляру служб Analysis Services:

  • Используйте динамические назначения портов и службу браузера SQL Server. Разблокируйте порт, используемый службой браузера SQL Server в брандмауэре Windows. Подключитесь к серверу в следующем формате: <имя>сервера\<имя>экземпляра.

  • Совместное использование фиксированного порта и службы браузера SQL Server. Этот подход позволяет подключаться с помощью этого формата: <servername>\<instancename>, аналогично подходу динамического назначения портов, за исключением того, что в данном случае сервер прослушивает фиксированный порт. В этом сценарии служба браузера SQL Server отвечает за разрешение имен для экземпляра служб Analysis Services, прослушивающего фиксированный порт. Чтобы использовать этот подход, настройте сервер для прослушивания фиксированного порта, разблокируйте доступ к этому порту и разблокируйте доступ к порту, используемому службой браузера SQL Server.

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

Если вы не можете использовать службу браузера SQL Server, необходимо назначить фиксированный порт в строке подключения, обходя разрешение доменных имен. Без службы браузера SQL Server все клиентские подключения должны включать номер порта в строке подключения (например, AW-SRV01:54321).

Вариант 1. Использование динамических назначений портов и разблокировка доступа к службе браузера SQL Server

Динамические назначения портов для именованных экземпляров служб Analysis Services устанавливаются при запуске службы MSOLAP$InstanceName. По умолчанию служба утверждает первый доступный номер порта, который он находит, используя другой номер порта при каждом перезапуске службы.

Разрешение имен экземпляра обрабатывается службой браузера SQL Server. При использовании динамических назначений портов с именованным экземпляром всегда требуется разблокировать TCP-порт 2382 для службы браузера SQL Server.

Замечание

Служба браузера SQL Server прослушивает порт UDP 1434 и TCP-порт 2382 для ядра СУБД и служб Analysis Services соответственно. Даже если вы уже разблокировали порт UDP 1434 для службы браузера SQL Server, необходимо по-прежнему разблокировать TCP-порт 2382 для служб Analysis Services.

Брандмауэр Windows в режиме повышенной безопасности

  1. На панели управления Windows 7 или Windows Vista щелкните " Система" и "Безопасность", выберите брандмауэр Windows и нажмите кнопку "Дополнительные параметры". В Windows Server 2008 или 2008 R2 откройте средства администратора и выберите брандмауэр Windows с расширенной безопасностью. В Windows Server 2012 откройте страницу "Приложения" и введите брандмауэр Windows.

  2. Чтобы разблокировать доступ к службе браузера SQL Server, щелкните правой кнопкой мыши правила входящего трафика и выберите пункт "Создать правило".

  3. В поле "Тип правила" нажмите кнопку Port"Далее".

  4. В разделе "Протокол и порты" выберите TCP , а затем введите 2382в определенных локальных портах.

  5. В действии нажмите кнопку "Разрешить подключение " и нажмите кнопку "Далее".

  6. В Профиле снимите все сетевые расположения, которые не применяются, а затем нажмите Далее.

  7. В поле "Имя" введите описательное имя для этого правила (например, SQL Server Browser Service (tcp-in) 2382), а затем нажмите кнопку "Готово".

  8. Чтобы убедиться, что удаленные подключения включены, откройте SQL Server Management Studio или Excel на другом компьютере и подключитесь к службам Analysis Services, указав сетевое имя сервера и имя экземпляра в этом формате: <имя> сервера\<имя_экземпляра>. Например, на сервере с именем AW-SRV01 с именованным экземпляром Finance имя сервера — AW-SRV01\Finance.

Вариант 2. Использование фиксированного порта для именованного экземпляра

Кроме того, можно назначить фиксированный порт, а затем разблокировать доступ к порту. Этот подход обеспечивает более высокую возможность аудита, чем если вы разрешили доступ к исполняемому файлу программы. По этой причине для доступа к любому экземпляру служб Analysis Services рекомендуется использовать фиксированный порт.

Чтобы назначить фиксированный порт, следуйте инструкциям в разделе "Использование фиксированного порта для стандартного или именованного экземпляра служб Analysis Services в этом разделе", а затем вернитесь к этому разделу, чтобы разблокировать порт.

Брандмауэр Windows в режиме повышенной безопасности

  1. На панели управления Windows 7 или Windows Vista щелкните " Система" и "Безопасность", выберите брандмауэр Windows и нажмите кнопку "Дополнительные параметры". В Windows Server 2008 или 2008 R2 откройте средства администратора и выберите брандмауэр Windows с расширенной безопасностью. В Windows Server 2012 откройте страницу "Приложения" и введите брандмауэр Windows.

  2. Чтобы разблокировать доступ к службам Analysis Services, щелкните правой кнопкой мыши правила входящего трафика и выберите "Создать правило".

  3. В поле "Тип правила" нажмите кнопку Port"Далее".

  4. В разделе "Протокол и порты" выберите TCP , а затем введите фиксированный порт в определенных локальных портах.

  5. В действии нажмите кнопку "Разрешить подключение " и нажмите кнопку "Далее".

  6. В "Профиль" удалите все сетевые расположения, которые не применяются, а затем нажмите "Далее".

  7. В поле "Имя" введите описательное имя для этого правила (например, SQL Server Analysis Services on port 54321), а затем нажмите кнопку "Готово".

  8. Чтобы убедиться, что удаленные подключения включены, откройте SQL Server Management Studio или Excel на другом компьютере и подключитесь к службам Analysis Services, указав сетевое имя сервера и номер порта в этом формате: имя> сервера:<<portnumber>.

Синтаксис Netsh AdvFirewall

  • В следующих командах создаются входящие правила, которые разблокируют TCP-порт 2382 для службы SQL Server Browser и фиксированный порт, указанный вами для экземпляра служб Analysis Services. Вы можете запустить любой из них, чтобы разрешить доступ к именованному экземпляру Analysis Services.

    В этом примере команды порт 54321 является фиксированным портом. Не забудьте заменить его фактическим портом, используемым в вашей системе.

    netsh advfirewall firewall add rule name="SQL Server Analysis Services (tcp-in) on 54321" dir=in action=allow protocol=TCP localport=54321 profile=domain  
    
    netsh advfirewall firewall add rule name="SQL Server Browser Services inbound on TCP 2382" dir=in action=allow protocol=TCP localport=2382 profile=domain  
    

Для экземпляра по умолчанию или именованного экземпляра Analysis Services используйте фиксированный порт.

В этом разделе объясняется, как настроить службы Analysis Services для прослушивания фиксированного порта. Использование фиксированного порта распространено, если вы установили службы Analysis Services в качестве именованного экземпляра, но этот подход также можно использовать, если бизнес-требования или требования безопасности указывают, что используются назначения портов, отличных от по умолчанию.

Обратите внимание, что при использовании фиксированного порта синтаксис подключения для экземпляра по умолчанию требуется добавить номер порта к имени сервера. Например, для подключения к локальному экземпляру по умолчанию служб Analysis Services, прослушивающего порт 54321 в SQL Server Management Studio, необходимо ввести localhost:54321 в качестве имени сервера в диалоговом окне "Подключение к серверу" в Management Studio.

При использовании именованного экземпляра можно назначить фиксированный порт без изменения способа указания имени сервера (в частности, вы можете использовать <имя_сервера\имя_экземпляра> для подключения к именованному экземпляру, прослушивающему фиксированный порт). Это работает только в том случае, если запущена служба браузера SQL Server, и вы разблокировали порт, на котором он прослушивается. Служба браузера SQL Server будет перенаправлять на фиксированный порт на основе <имени сервера\имени экземпляра>. Если вы откроете порты для службы браузера SQL Server и именованного экземпляра служб Analysis Services, которые прослушивают фиксированный порт, служба браузера SQL Server разрешит подключение к именованному экземпляру.

  1. Определите доступный порт TCP/IP для использования.

    Чтобы просмотреть список зарезервированных и зарегистрированных портов, которые следует избегать использования, см. раздел "Номера портов" (IANA). Чтобы просмотреть список портов, которые уже используются в системе, откройте окно командной строки и введите netstat -a -p TCP список портов TCP, открытых в системе.

  2. После определения используемого порта укажите порт, изменив Port параметр конфигурации в файле msmdsrv.ini или на странице "Общие свойства" экземпляра служб Analysis Services в SQL Server Management Studio.

  3. Перезапустите службу.

  4. Настройте брандмауэр Windows для разблокировки указанного TCP-порта. Или, если вы используете фиксированный порт для именованного экземпляра, разблокируйте как tcp-порт, указанный для этого экземпляра, так и TCP-порт 2382 для службы браузера SQL Server.

  5. Проверьте, подключившись локально (в Management Studio), а затем удаленно из клиентского приложения на другом компьютере. Чтобы использовать Management Studio, подключитесь к экземпляру служб Analysis Services по умолчанию, указав имя сервера в этом формате: <имя сервера>:<portnumber>. Для именованного экземпляра укажите имя сервера как <servername>\<instancename>.

Настройка портов для кластера служб Analysis Services

Отказоустойчивый кластер служб Analysis Services всегда прослушивает TCP-порт 2383 независимо от того, установлен ли он в качестве экземпляра по умолчанию или именованного экземпляра. Динамические назначения портов не используются службами Analysis Services при установке в отказоустойчивом кластере Windows. Не забудьте открыть TCP 2383 на каждом узле, на котором запущены службы Analysis Services в кластере. Дополнительные сведения о кластеризации служб Analysis Services см. в статье "Кластеризация служб SQL Server Analysis Services".

Конфигурация порта для PowerPivot для SharePoint

Архитектура сервера для PowerPivot для SharePoint существенно отличается в зависимости от используемой версии SharePoint.

SharePoint 2013

В SharePoint 2013 службы Excel перенаправляют запросы на модели данных Power Pivot, которые впоследствии загружаются в экземпляр служб Analysis Services за пределами среды SharePoint. Подключения соответствуют типичному шаблону, когда клиентская библиотека служб Analysis Services на локальном компьютере отправляет запрос на подключение к удаленному экземпляру служб Analysis Services в той же сети.

Так как PowerPivot для SharePoint всегда устанавливает службы Analysis Services в качестве именованного экземпляра, вы должны учитывать службу SQL Server Browser и назначения динамических портов. Как отмечалось ранее, служба браузера SQL Server прослушивает TCP-порт 2382 для запросов на подключение, отправленных в именованные экземпляры служб Analysis Services, перенаправляя запрос на текущий порт.

Обратите внимание, что службы Excel в SharePoint 2013 не поддерживают синтаксис фиксированного подключения к порту, поэтому убедитесь, что служба браузера SQL Server доступна.

SharePoint 2010

Если вы используете SharePoint 2010, вам не нужно открывать порты в брандмауэре Windows. SharePoint открывает необходимые порты и надстройки, такие как PowerPivot для SharePoint, работают в среде SharePoint. В установке PowerPivot для SharePoint 2010 системная служба PowerPivot имеет эксклюзивное использование локального экземпляра службы SQL Server Analysis Services (PowerPivot), установленного с ним на том же компьютере. Он использует локальные подключения, а не сетевые подключения для доступа к локальной службе подсистемы Analysis Services, которая загружает, запрашивает и обрабатывает данные PowerPivot на сервере SharePoint. Чтобы запросить данные PowerPivot из клиентских приложений, запросы направляются через порты, открытые программой установки SharePoint (в частности, правила входящего трафика определяются для разрешения доступа к SharePoint — 80, центр администрирования SharePoint версии 4, веб-служб SharePoint и SPUserCodeV4). Так как веб-службы PowerPivot выполняются в ферме SharePoint, правила брандмауэра SharePoint достаточно для удаленного доступа к данным PowerPivot в ферме SharePoint.

См. также

Служба обозревателя SQL Server (ядро СУБД и SSAS)
Запуск, остановка, приостановка, возобновление и перезапуск компонента Database Engine, агента SQL и службы браузера SQL Server
настройка брандмауэра Windows для доступа к ядрам СУБД