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


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

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

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

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

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

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

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

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

Замечание

Не удается использовать порт, отличный от порта по умолчанию, для служб Анализа, если необходимо подключиться к экземпляру с помощью Kerberos. Дополнительные сведения о регистрации SPN для экземпляров SSAS, слушающих фиксированные порты

Только один TCP-порт можно использовать экземпляром служб SQL Server Analysis Services. На компьютерах с несколькими сетевыми картами или несколькими IP-адресами службы SQL Server Analysis Services прослушивает один TCP-порт для всех IP-адресов, назначенных или псевдонимированных на компьютере. Если у вас есть определенные требования к нескольким портам, рассмотрите возможность настройки SQL Server 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 2017, брандмауэр Windows включен по умолчанию и блокирует удаленные подключения. Чтобы разрешить входящие запросы к службам Analysis Services, необходимо вручную открыть порт в брандмауэре. Программа установки SQL Server не выполняет этот шаг автоматически.

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

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

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

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

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

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

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

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

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

Экземпляр SQL Server Analysis Services по умолчанию прослушивает TCP-порт 2383. Если вы установили экземпляр по умолчанию и хотите использовать этот порт, необходимо только разблокировать входящий доступ к TCP-порту 2383 в брандмауэре Windows, чтобы разрешить удаленный доступ к экземпляру SQL Server Analysis Services по умолчанию. Если вы установили экземпляр по умолчанию, но хотите настроить службу для прослушивания фиксированного порта, см. раздел "Использование фиксированного порта" для экземпляра служб 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. В поле "Тип правила" нажмите кнопку "Порт" и нажмите кнопку "Далее".

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

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

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

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

  8. Чтобы убедиться, что удаленные подключения включены, откройте SQL Server Management Studio или Excel на другом компьютере и подключитесь к службам SQL Server 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

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

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

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

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

  • Совместное использование фиксированного порта и службы браузера SQL Server. Этот подход позволяет подключаться, используя такой формат: <servername>\<instancename>, аналогично подходу динамического назначения портов, но в этом случае сервер прослушивает фиксированный порт. В этом сценарии служба SQL Server Browser обеспечивает разрешение имен для экземпляра служб 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. В поле "Тип правила" нажмите кнопку "Порт" и нажмите кнопку "Далее".

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

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

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

  7. В поле "Имя" введите описательное имя для этого правила (например, служба браузера SQL Server (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. В поле "Тип правила" нажмите кнопку "Порт" и нажмите кнопку "Далее".

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

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

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

  7. В поле "Имя" введите описательное имя для этого правила (например, службы SQL Server Analysis Services через порт 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  
    

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

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

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

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

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

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

  2. После определения используемого порта укажите порт, изменив параметр конфигурации порта в файле 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>\<имя_экземпляра>.

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

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

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

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

SharePoint 2013

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

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

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

SharePoint 2010

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

См. также

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