将 Windows 防火墙配置为允许 Analysis Services 访问
适用于:
SQL Server Analysis Services Azure Analysis Services
Power BI Premium
使网络Analysis Services或Power Pivot SharePoint一个基本的第一步是确定是否需要在防火墙中取消阻止端口。 大多数安装都要求至少创建一个允许连接到 Analysis Services 的内绑定防火墙规则。
防火墙配置要求因安装方式而异Analysis Services:
安装默认实例或创建故障转移群集Analysis Services TCP 端口 2383。
在安装命名实例时打开 TCP 端口 2382。 命名实例使用动态端口分配。 作为 Analysis Services 的发现SQL Server,SQL Server Browser 服务侦听 TCP 端口 2382,将连接请求重定向到当前由 Analysis Services 使用的端口。
在 SharePoint 模式下安装 ANALYSIS SERVICES 时打开 TCP 端口 2382,Power Pivot 2013 SharePoint端口。 在 Power Pivot 2013 SharePoint 中,Analysis Services 实例位于 SharePoint 外部。 对名为"Power Pivot"实例的入站请求SharePoint来自通过网络连接的 Web 应用程序,需要开放端口。 与其他命名Analysis Services一样,在 TCP 2382 上为 SQL Server Browser 服务创建入站规则,以允许访问 Power Pivot SharePoint。
对于 Power Pivot 2010 SharePoint,请不要在防火墙中打开Windows端口。 作为 SharePoint 的外接程序,该服务使用为 SharePoint 配置的端口,并且仅与加载和查询数据模型的 Analysis Services 实例建立Power Pivot连接。
对于Analysis Services Azure Windows 上运行虚拟机,请使用配置服务器访问的备用说明。 请参阅 Windows Azure 虚拟机中的 SQL Server 商业智能。
尽管 Analysis Services 实例侦听 TCP 端口 2383,但可以将服务器配置为侦听其他固定端口,并按以下格式连接到服务器: <servername>:<portnumber>。
一个实例只能使用一个 TCP Analysis Services端口。 在具有多个网卡或多个 IP 地址的计算机上,Analysis Services为计算机分配或别名的所有 IP 地址侦听一个 TCP 端口。 如果你有特定的多端口要求,请考虑为 HTTP Analysis Services配置端口。 然后您可以在选择的任意端口上设置多个 HTTP 端点。 请参阅在 IIS Analysis Services 8.0 Internet Information Services (上) HTTP 访问。
本主题包含以下各节:
有关默认 Windows 防火墙设置的详细信息以及有关影响数据库引擎、Analysis Services、Reporting Services 和 Integration Services 的 TCP 端口的说明,请参阅 配置 Windows 防火墙以允许 SQL Server 访问。
检查 Analysis Services 的端口和防火墙设置。
在 Microsoft Windows 2017 SQL Server 操作系统上,Windows防火墙已默认打开并阻止远程连接。 必须手动在防火墙中开放某一端口,以便允许对 Analysis Services 的入站请求。 SQL Server 安装程序不自动为您执行此步骤。
在 msmdsrv.ini file 文件以及 SQL Server Management Studio 的 Analysis Services 实例的“常规”属性页中,指定端口设置。 如果 Port 设置为某个正整数,则该服务正在侦听某个固定端口。 如果 Port 设置为 0,则该服务正在侦听端口 2383(如果该服务是默认实例)或动态分配的端口(如果该服务是命名实例)。
动态端口分配仅由命名实例使用。 MSOLAP$InstanceName 服务确定在它启动时要使用的端口。 您可以通过执行以下操作确定某一命名实例正在使用的实际端口号:
启动任务管理器,然后单击 “服务” 以便获取 MSOLAP$InstanceName的 PID。
从 命令行运行 netstat -ao -p TCP 以查看该 PID 的 TCP 端口信息。
使用 IPAddress>:portnumber <SQL Server Management Studio以下格式连接到 Analysis Services 服务器来验证端口><。
尽管应用程序可能在侦听某一特定端口,但如果防火墙正在阻止访问,则连接将不会成功。 为了实现与某一命名 Analysis Services 实例的连接,您必须取消阻止对 msmdsrv.exe 或者该实例在防火墙中所侦听的固定端口的访问。 本主题中的其余部分将说明如何取消阻止。
若要查看是否已为 Analysis Services 定义了防火墙设置,请在“控制面板”中使用“高级安全 Windows 防火墙”。 “监视”文件夹的“防火墙”页显示为本地服务器定义的规则的完整列表。
请注意,对于Analysis Services,必须手动定义所有防火墙规则。 尽管 Analysis Services 和 SQL Server Browser 保留端口 2382 和 2383,但 SQL Server 安装程序或任何配置工具都未定义允许访问端口或程序可执行文件的防火墙规则。
为 Analysis Services 的默认实例配置 Windows 防火墙
默认实例的 Analysis Services侦听 TCP 端口 2383。 如果安装了默认实例并想要使用此端口,则只需取消阻止对 Windows 防火墙中 TCP 端口 2383 的入站访问,以启用对 Analysis Services 的默认实例的远程访问。 如果您安装了该默认实例,但是想要将服务配置为侦听固定端口,请参阅本主题中的 将固定端口用于 Analysis Services 的默认实例或命名实例 。
若要确认该服务是否正作为默认实例 (MSSQLServerOLAPService) 运行,请在 SQL Server 配置管理器中查看服务名称。 Analysis Services 的默认实例始终作为“SQL Server Analysis Services (MSSQLSERVER)”列出。
注意
不同的 Windows 操作系统为配置 Windows 防火墙提供可供选择的工具。 其中大多数工具都允许您在打开特定端口还是程序可执行文件之间进行选择。 除非您有具体原因来指定程序可执行文件,否则,我们建议您指定端口。
在指定入站规则时,请确保采用使你以后能够轻松找到规则的命名约定(例如 SQL Server Analysis Services (TCP-in) 2383)。
高级安全 Windows 防火墙
在 Windows 7 或 Windows Vista 上,单击“控制面板”中的 “系统和安全”,选择 “Windows 防火墙”,然后单击 “高级设置”。 在 Windows Server 2008 或 2008 R2 上,打开“管理员工具”,然后单击 “高级安全 Windows 防火墙”。 在 Windows Server 2012 上,打开“应用程序”页并键入 Windows 防火墙。
右键单击“入站规则”,然后选择“新建规则”。
在“规则类型”中,单击 “端口” ,然后单击 “下一步”。
在“协议和端口”中,选择“TCP” ,然后在“特定本地端口” 中键入 2383。
在“操作”中,单击 “允许连接” ,然后单击 “下一步”。
在“配置文件”中,清除不适用的所有网络位置,然后单击 “下一步”。
在“名称”中,键入此规则的说明性名称(例如 SQL Server Analysis Services (tcp-in) 2383),然后单击“完成”。
若要验证远程连接是否已启用,请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
为 Analysis Services 的命名实例配置 Windows 防火墙访问
Analysis Services 的命名实例可以侦听固定端口或动态分配的端口,其中 SQL Server Browser 服务在连接时为服务提供当前连接信息。
SQL Server Browser 服务侦听 TCP 端口 2382。 不使用 UDP。 TCP 是 Analysis Services 使用的唯一传输协议。
选择以下方法之一可以启用对 Analysis Services 的命名实例的远程访问:
使用动态端口分配和 SQL Server Browser 服务。 在 Windows 防火墙中取消阻止 SQL Server Browser 服务使用的端口。 连接服务器:<servername>\<instancename>。
一起使用固定端口和 SQL Server Browser 服务。 此方法允许使用此 <格式进行连接:servername>\<instancename>,与动态端口分配方法相同,但在这种情况下,服务器侦听固定端口。 在此方案中,SQL Server Browser 服务提供对在固定端口上侦听的 Analysis Services 实例的名称解析。 若要使用此方法,请将服务器配置为侦听固定端口,取消阻止对该端口的访问,并且取消阻止对 SQL Server Browser 服务使用的端口的访问。
SQL Server Browser 服务仅用于命名实例,不能用于默认实例。 只要您将任何 SQL Server 功能作为命名实例安装,就将自动安装和启用该服务。 如果您选择要求 SQL Server Browser 服务的方法,请确保该服务在您的服务器上保持启用和启动。
如果无法使用 SQL Server Browser 服务,则必须在连接字符串中分配固定端口,绕过域名解析。 没有 SQL Server Browser 服务,所有客户端连接都必须在连接字符串上包括端口号(例如 AW-SRV01:54321)。
选项 1:使用动态端口分配并且取消阻止对 SQL Server Browser 服务的访问
在服务启动时由 MSOLAP$InstanceName 建立对 Analysis Services 的命名实例的端口分配。 默认情况下,该服务声明它找到的第一个可用端口号,并且在该服务每次重新启动时都使用不同的端口号。
实例名称解析由 SQL Server Browser 服务处理。 如果您在将动态端口分配用于命名实例,则始终要求为 SQL Server Browser 服务取消阻止 TCP 端口 2382。
注意
SQL Server Browser 服务分别为数据库引擎和 Analysis Services 侦听 UDP 端口 1434 和 TCP 端口 2382。 即使您已经为 SQL Server Browser 服务取消阻止了 UDP 端口 1434,也仍然必须为 Analysis Services 取消阻止 TCP 端口 2382。
高级安全 Windows 防火墙
在 Windows 7 或 Windows Vista 上,单击“控制面板”中的 “系统和安全”,选择 “Windows 防火墙”,然后单击 “高级设置”。 在 Windows Server 2008 或 2008 R2 上,打开“管理员工具”,然后单击 “高级安全 Windows 防火墙”。 在 Windows Server 2012 上,打开“应用程序”页并键入 Windows 防火墙。
若要取消阻止对 SQL Server Browser 服务的访问,请右键单击“入站规则”,然后选择“新建规则”。
在“规则类型”中,单击 “端口” ,然后单击 “下一步”。
在“协议和端口”中,选择“TCP” ,然后在“特定本地端口” 中键入 2382。
在“操作”中,单击 “允许连接” ,然后单击 “下一步”。
在“配置文件”中,清除不适用的所有网络位置,然后单击 “下一步”。
在“名称”中,键入此规则的说明性名称(例如 SQL Server Browser Service (tcp-in) 2382),然后单击“完成”。
若要验证远程连接是否已启用,请在不同的计算机上打开 SQL Server Management Studio 或 Excel,然后通过指定服务器的网络名称和以下格式的实例名称来连接到 Analysis Services:<servername>\<instancename>。 例如,在具有 Finance 的命名实例的名为 AW-SRV01 的服务器上,服务器名称为 AW-SRV01\Finance。
选项 2:将固定端口用于命名实例
或者,您可以分配一个固定端口,然后取消阻止对该端口的访问。 与允许访问程序可执行文件的方法相比,此方法可提高审核功能。 因此,建议使用固定端口来访问所有 Analysis Services 实例。
若要分配固定端口,请按照本主题的 将固定端口用于 Analysis Services 的默认实例或命名实例 中的说明执行,然后返回到本节以便取消阻止该端口。
高级安全 Windows 防火墙
在 Windows 7 或 Windows Vista 上,单击“控制面板”中的 “系统和安全”,选择 “Windows 防火墙”,然后单击 “高级设置”。 在 Windows Server 2008 或 2008 R2 上,打开“管理员工具”,然后单击 “高级安全 Windows 防火墙”。 在 Windows Server 2012 上,打开“应用程序”页并键入 Windows 防火墙。
若要取消阻止对 Analysis Services 的访问,请右键单击“入站规则”,然后选择“新建规则”。
在“规则类型”中,单击 “端口” ,然后单击 “下一步”。
在“协议和端口”中,选择 “TCP” ,然后在 “特定本地端口”中键入固定端口。
在“操作”中,单击 “允许连接” ,然后单击 “下一步”。
在“配置文件”中,清除不适用的所有网络位置,然后单击 “下一步”。
在“名称”中,键入此规则的说明性名称(例如 SQL Server Analysis Services on port 54321),然后单击“完成”。
若要验证远程连接是否已启用,请在不同的计算机上打开 SQL Server Management Studio 或 Excel,然后通过指定服务器的网络名称和以下格式的端口号来连接到 Analysis Services:<servername>:<portnumber>。
Netsh AdvFirewall 语法
下面的命令创建两个入站规则;一个规则为 SQL Server Browser 服务取消阻止 TCP 2382,另一个规则取消阻止您为 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=domainnetsh 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 作为命名实例安装,则使用固定端口较为常见;但是,如果业务或安全要求指定您使用非默认端口分配,则也可以使用此方法。
请注意,使用固定端口将通过要求您将端口号追加到服务器名称后,更改默认实例的连接语法。 例如,在连接到在 SQL Server Management Studio 中侦听端口 54321 的本地默认 Analysis Services 实例时,将要求您在 Management Studio 的“连接到服务器”对话框中键入 localhost:54321 作为服务器名称。
如果使用命名实例,则无需更改指定服务器名称的固定端口 (具体而言 <,可以使用 servername\instancename> 连接到侦听固定端口) 的命名实例。 这仅适用于 SQL Server Browser 服务正在运行并且您已取消阻止了该服务正在侦听的端口的情况。 SQL Server Browser 服务将基于 servername\instancename 提供<到固定端口的重定向>。 只要您为 SQL Server Browser 服务以及侦听固定端口的 Analysis Services 的命名实例开放端口,SQL Server Browser 服务就会解析与命名实例的连接。
确定要使用的可用 TCP/IP 端口。
若要查看应避免使用的保留和已注册端口的列表,请参阅 端口号 (IANA)。 若要查看已在系统使用的端口列表,请打开命令提示符窗口并键入 netstat -a -p TCP 以显示在系统上打开的 TCP 端口的列表。
在您确定了要使用的端口后,通过在 msmdsrv.ini 文件中或者在 SQL Server Management Studio 的 Analysis Services 实例的“常规属性”页中编辑 Port 配置设置,指定该端口。
重启服务。
配置 Windows 防火墙以便取消阻止您指定的 TCP 端口。 或者,如果您在将固定端口用于命名实例,则取消阻止您为该实例指定的 TCP 端口以及为 SQL Server Browser 服务指定的 TCP 端口 2382。
通过先进行本地连接(在 Management Studio 中),然后从其他计算机上的客户端应用程序进行远程连接,进行验证。 若要使用Management Studio,<请Analysis Services服务器名称(servername>:<portnumber)连接到默认实例>。 对于命名实例,将服务器名称指定为 <servername>\<instancename>。
Analysis Services 群集的端口配置
无论Analysis Services实例还是命名实例,故障转移群集始终侦听 TCP 端口 2383。 当动态端口分配安装在Analysis Services群集上时,Windows分配。 请确保在群集中运行 ANALYSIS SERVICES节点上打开 TCP 2383。 有关群集群集Analysis Services,请参阅如何群集SQL Server Analysis Services。
Power Pivot for SharePoint 的端口配置
用于Power Pivot服务器的SharePoint体系结构根据你使用SharePoint版本而基本不同。
SharePoint 2013
在 SharePoint 2013 Excel Services 中,Power Pivot 重定向对 Power Pivot 数据模型的请求,这些请求随后加载到 Analysis Services 环境外部的 SharePoint 实例上。 连接遵循典型模式,其中本地Analysis Services客户端库将连接请求发送到同一Analysis Services远程实例。
由于Power Pivot浏览器SharePoint始终将 Analysis Services 作为命名实例安装,因此应假定SQL Server浏览器服务和动态端口分配。 如前所述,SQL Server Browser 服务侦听 TCP 端口 2382 上发送到 Analysis Services 命名实例的连接请求,将请求重定向到当前端口。
请注意,SharePoint 2013 中的 Excel Services 不支持固定端口连接语法,因此请确保 SQL Server Browser 服务可以访问。
SharePoint 2010
如果您使用的是 SharePoint 2010,则无需在 Windows 防火墙中开放端口。 SharePoint打开它所需的端口,并且外接程序(如 Power Pivot for SharePoint 在 SharePoint 环境中运行。 在 Power Pivot 2010 SharePoint 中,Power Pivot 系统服务独占使用同一计算机上安装的本地 SQL Server Analysis Services ( Power Pivot) 服务实例。 它使用本地连接(而不是网络连接)访问本地 Analysis Services 引擎服务,该服务加载、查询和Power Pivot服务器上SharePoint数据。 若要从客户端应用程序请求 Power Pivot 数据,请求将通过由 SharePoint 安装程序 (打开的端口进行路由,具体而言,入站规则定义为允许访问 SharePoint - 80、SharePoint 管理中心 v4、SharePoint Web 服务和 SPUserCodeV4) 。 由于Power Pivot Web 服务在 SharePoint 场中运行,因此SharePoint防火墙规则足以远程访问 Power Pivot场SharePoint数据。
另请参阅
SQL Server Browser 服务(数据库引擎和 SSAS)
启动、停止、暂停、继续、重新启动数据库引擎、SQL Server 代理或 SQL Server Browser 服务
为数据库引擎访问配置 Windows 防火墙