Configurar Firewall de Windows para permitir el acceso a Analysis Services

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Un primer paso esencial para hacer que SQL Server Analysis Services o Power Pivot para SharePoint esté disponible en la red es determinar si necesita desbloquear puertos en un firewall. La mayoría de las instalaciones requerirán que cree al menos una regla de firewall enlazada que permita conexiones a SQL Server Analysis Services.

Los requisitos de configuración del firewall varían en función de cómo haya instalado SQL Server Analysis Services:

  • Abra el puerto TCP 2383 al instalar una instancia predeterminada o crear un clúster de conmutación por error de SQL Server Analysis Services.

  • Abra el puerto TCP 2382 al instalar una instancia con nombre. Las instancias con nombre usan asignaciones de puerto dinámicas. Como servicio de detección para Analysis Services, SQL Server servicio Browser escucha en el puerto TCP 2382 y redirige la solicitud de conexión al puerto que usa actualmente SQL Server Analysis Services.

  • Abra el puerto TCP 2382 al instalar SQL Server Analysis Services en modo de SharePoint para admitir Power Pivot para SharePoint 2013. En Power Pivot para SharePoint 2013, la instancia de SQL Server Analysis Services es externa a SharePoint. Las solicitudes entrantes a la instancia denominada "Power Pivot" se originan en aplicaciones web de SharePoint a través de una conexión de red, lo que requiere un puerto abierto. Al igual que con otras instancias con nombre de SQL Server Analysis Services, cree una regla de entrada para SQL Server servicio Browser en TCP 2382 para permitir el acceso a Power Pivot para SharePoint.

  • Para Power Pivot para SharePoint 2010, no abra puertos en firewall de Windows. Como complemento a SharePoint, el servicio usa puertos configurados para SharePoint y solo realiza conexiones locales a la instancia de SQL Server Analysis Services que carga y consulta modelos de datos power Pivot.

  • Para SQL Server Analysis Services instancias que se ejecutan en Windows Azure Virtual Machines, use instrucciones alternativas para configurar el acceso al servidor. Vea Business Intelligence de SQL Server en Máquinas virtuales de Windows Azure.

Aunque la instancia predeterminada de SQL Server Analysis Services escucha en el puerto TCP 2383, puede configurar el servidor para que escuche en un puerto fijo diferente, conectándose al servidor en este formato: <servername>:<portnumber>.

Nota:

No puede usar un puerto no predeterminado para Analysis Services si necesita conectarse a la instancia mediante Kerberos. Para más información, consulte registro de SPN para instancias de SSAS que escuchan en puertos fijos.

Solo una instancia de SQL Server Analysis Services puede usar un puerto TCP. En los equipos que tienen varias tarjetas de red o varias direcciones IP, SQL Server Analysis Services escucha en un puerto TCP para todas las direcciones IP asignadas o con alias en el equipo. Si tiene requisitos específicos de varios puertos, considere la posibilidad de configurar SQL Server Analysis Services para el acceso HTTP. Después puede configurar varios extremos HTTP en los puertos que elija. Consulte Configuración del acceso HTTP a Analysis Services en Internet Information Services (IIS) 8.0.

Este tema contiene las siguientes secciones:

Para obtener más información sobre la configuración predeterminada de Firewall de Windows y una descripción de los puertos TCP que afectan al motor de base de datos, Analysis Services, Reporting Services e Integration Services, vea Configurar Firewall de Windows para permitir el acceso a SQL Server.

Comprobar la configuración de puertos y del firewall para Analysis Services

En los sistemas operativos Microsoft Windows compatibles con SQL Server 2017, Firewall de Windows está activado de forma predeterminada y bloquea las conexiones remotas. Debe abrir manualmente un puerto en el firewall para permitir las solicitudes de entrada en Analysis Services. El programa de instalación de SQL Server no realiza este paso automáticamente.

La configuración de puertos se especifica en el archivo msmdsrv.ini y en la página Propiedades generales de una instancia de Analysis Services en SQL Server Management Studio. Si Port está establecido en un entero positivo, el servicio está escuchando en un puerto fijo. Si Port está establecido en 0, el servicio está escuchando en el puerto 2383 si es la instancia predeterminada o en un puerto asignado dinámicamente si es una instancia con nombre.

Las asignaciones dinámicas de puerto solo las usan las instancias con nombre. El servicio MSOLAP$InstanceName determina qué puerto utilizará cuando se inicie. Puede determinar el número de puerto real en uso por una instancia con nombre haciendo lo siguiente:

  • Inicie el Administrador de tareas y, a continuación, haga clic en Servicios para obtener el PID del MSOLAP$InstanceName.

  • Ejecute netstat -ao -p TCP desde la línea de comandos para ver la información del puerto TCP de ese PID.

  • Compruebe el puerto mediante SQL Server Management Studio y conéctese a un servidor de Analysis Services en este formato: <IPAddress>:<portnumber>.

Aunque una aplicación podría estar escuchando en un puerto concreto, las conexiones no tendrán éxito si un firewall está bloqueando el acceso. Para que las conexiones alcancen una instancia con nombre de Analysis Services, debe desbloquear el acceso a msmdsrv.exe o al puerto fijo en el que está escuchando en el firewall. En las secciones restantes de este tema se proporcionan instrucciones para hacerlo.

Para comprobar si la configuración del firewall ya está definida para Analysis Services, utilice Firewall de Windows con seguridad avanzada en el Panel de control. La página Firewall de la carpeta Supervisión muestra una lista completa de las reglas definidas para el servidor local.

Tenga en cuenta que, para SQL Server Analysis Services, todas las reglas de firewall deben definirse manualmente. Aunque SQL Server Analysis Services y SQL Server Explorador reservan los puertos 2382 y 2383, ni el programa de instalación de SQL Server ni ninguna de las herramientas de configuración define reglas de firewall que permiten el acceso a los puertos o a los archivos ejecutables del programa.

Configurar Firewall de Windows para una instancia predeterminada de Analysis Services

La instancia predeterminada de SQL Server Analysis Services escucha en el puerto TCP 2383. Si instaló la instancia predeterminada y quiere usar este puerto, solo tiene que desbloquear el acceso entrante al puerto TCP 2383 en firewall de Windows para habilitar el acceso remoto a la instancia predeterminada de SQL Server Analysis Services. Si instaló la instancia predeterminada pero desea configurar el servicio para que escuche en un puerto fijo, vea Utilizar un puerto fijo para una instancia predeterminada o con nombre de Analysis Services en este tema.

Para comprobar si el servicio se está ejecutando como la instancia predeterminada (MSSQLServerOLAPService), compruebe el nombre del servicio en el Administrador de configuración de SQL Server. Una instancia predeterminada de Analysis Services siempre se muestra como SQL Server Analysis Services (MSSQLSERVER).

Nota:

Los distintos sistemas operativos Windows proporcionan herramientas alternativas para configurar Firewall de Windows. La mayoría de estas herramientas le permiten elegir entre abrir un puerto o un programa ejecutable concreto. A menos que tenga una razón para especificar el programa ejecutable, recomendamos que especifique el puerto.

Al especificar una regla de entrada, asegúrese de adoptar una convención de nomenclatura que le permita encontrar fácilmente las reglas más adelante, por ejemplo, SQL Server Analysis Services (TCP-entrada) 2383.

Firewall de Windows con seguridad avanzada

  1. En Windows 7 o Windows Vista, en el Panel de control, haga clic en Sistema y seguridad, seleccione Firewall de Windowsy haga clic en Configuración avanzada. En Windows Server 2008 o 2008 R2, abra Herramientas administrativas y haga clic en Firewall de Windows con seguridad avanzada. En Windows Server 2012, abra la página Aplicaciones y escriba Firewall de Windows.

  2. Haga clic con el botón derecho en Reglas de entrada y seleccione Nueva regla.

  3. En Tipo de regla, haga clic en Puerto y, después, haga clic en Siguiente.

  4. En Protocolo y puertos, seleccione TCP y después escriba 2383 en Puertos locales específicos.

  5. En Acción, haga clic en Permitir la conexión y, después, haga clic en Siguiente.

  6. En Perfil, borre cualquier ubicación de red que no sea aplicable y haga clic en Siguiente.

  7. En Nombre, escriba un nombre descriptivo para esta regla, por ejemplo, SQL Server Analysis Services (tcp-entrada) 2383, y haga clic en Finalizar.

  8. Para comprobar que las conexiones remotas están habilitadas, abra SQL Server Management Studio o Excel en otro equipo y conéctese a SQL Server Analysis Services especificando el nombre de red del servidor en Nombre del servidor.

    Nota:

    Otros usuarios no tendrán acceso a este servidor hasta que les conceda permisos. Para obtener más información, consulte Autorización del acceso a objetos y operaciones (Analysis Services).

Sintaxis de Netsh AdvFirewall

  • El siguiente comando crea una regla de entrada que permite solicitudes entrantes en el puerto 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  
    

Configurar el acceso de Firewall de Windows para una instancia con nombre de Analysis Services

Las instancias con nombre de SQL Server Analysis Services pueden escuchar en un puerto fijo o en un puerto asignado dinámicamente, donde SQL Server servicio Browser proporciona la información de conexión actual para el servicio en el momento de la conexión.

El servicio SQL Server Browser escucha en el puerto TCP 2382. No se usa UDP. TCP es el único protocolo de transmisión utilizado por SQL Server Analysis Services.

Elija uno de los siguientes métodos para habilitar el acceso remoto a una instancia con nombre de Analysis Services:

  • Use asignaciones dinámicas de puertos y el servicio SQL Server Browser. Desbloquee el puerto utilizado por el servicio SQL Server Browser en Firewall de Windows. Conéctese al servidor en este formato: <nombreServidor\<nombreDeInstancia>>.

  • Use un puerto fijo y el servicio SQL Server Browser conjuntamente. Este enfoque le permite conectarse con este formato: <nombreDeServidor\<nombreDeInstancia>>, idéntico al enfoque de asignación de puerto dinámico, salvo que en este caso el servidor escucha en un puerto fijo. En este escenario, el Servicio SQL Server Browser proporciona la resolución de nombres a la instancia de Analysis Services que escucha en el puerto fijo. Para usar este método, configure el servidor para que escuche en un puerto fijo y desbloquee el acceso a dicho puerto y al puerto utilizado por el servicio SQL Server Browser.

El servicio SQL Server Browser solo se usa con instancias con nombre, nunca con la instancia predeterminada. El servicio se instala y habilita de modo automático siempre que se instala una característica de SQL Server como una instancia con nombre. Si elige un método que requiera el servicio SQL Server Browser, asegúrese de que permanece habilitado e iniciado en el servidor.

Si no puede utilizar el servicio SQL Server Browser, debe asignar un puerto fijo en la cadena de conexión, omitiendo la resolución de nombres de dominio. Sin el servicio SQL Server Browser, todas las conexiones de cliente deben incluir el número de puerto en la cadena de conexión (por ejemplo, AW-SRV01:54321).

Opción 1: usar las asignaciones dinámicas de puerto y desbloquear el acceso al servicio SQL Server Browser

MSOLAP$InstanceName establece las asignaciones dinámicas de puerto para las instancias con nombre de Analysis Services cuando se inicia el servicio. De forma predeterminada, el servicio reclama el primer número de puerto disponible que encuentra, utilizando un número de puerto diferente cada vez que se reinicia el servicio.

El servicio SQL Server Browser administra la resolución de nombres de instancia. Siempre es necesario desbloquear el puerto TCP 2382 para el servicio SQL Server Browser en el caso de que se usen asignaciones dinámicas de puerto con una instancia con nombre.

Nota:

El servicio SQL Server Browser escucha en el puerto UDP 1434 y en el puerto TCP 2382 para el Motor de base de datos y Analysis Services, respectivamente. Aunque ya desbloqueara el puerto UDP 1434 para el servicio SQL Server Browser, debe seguir desbloqueando el puerto TCP 2382 para Analysis Services.

Firewall de Windows con seguridad avanzada

  1. En Windows 7 o Windows Vista, en el Panel de control, haga clic en Sistema y seguridad, seleccione Firewall de Windowsy haga clic en Configuración avanzada. En Windows Server 2008 o 2008 R2, abra Herramientas administrativas y haga clic en Firewall de Windows con seguridad avanzada. En Windows Server 2012, abra la página Aplicaciones y escriba Firewall de Windows.

  2. Para desbloquear el acceso al servicio SQL Server Browser, haga clic con el botón derecho en Reglas de entrada y seleccione Nueva regla.

  3. En Tipo de regla, haga clic en Puerto y, después, haga clic en Siguiente.

  4. En Protocolo y puertos, seleccione TCP y después escriba 2382 en Puertos locales específicos.

  5. En Acción, haga clic en Permitir la conexión y, después, haga clic en Siguiente.

  6. En Perfil, borre cualquier ubicación de red que no sea aplicable y haga clic en Siguiente.

  7. En Nombre, escriba un nombre descriptivo para esta regla, por ejemplo, Servicio SQL Server Browser (tcp-entrada) 2382, y haga clic en Finalizar.

  8. Para comprobar que las conexiones remotas están habilitadas, abra SQL Server Management Studio o Excel en otro equipo y conéctese a Analysis Services especificando el nombre de red del servidor y el nombre de la instancia en este formato: <servername>\<instancename>. Por ejemplo, en un servidor denominado AW-SRV01 con una instancia con nombre denominada Finanzas, el nombre del servidor es AW-SRV01\Finanzas.

Opción 2: configurar un puerto fijo para una instancia con nombre

O bien, puede asignar un puerto fijo y, a continuación, desbloquear el acceso a dicho puerto. Este método proporciona una capacidad de auditoría mejor que si se permite el acceso al programa ejecutable. Por eso, se recomienda utilizar un puerto fijo para acceder a una instancia de Analysis Services.

Para asignar un puerto fijo, siga las instrucciones de Utilizar un puerto fijo para una instancia predeterminada o con nombre de Analysis Services en este tema y vuelva a esta sección para desbloquear el puerto.

Firewall de Windows con seguridad avanzada

  1. En Windows 7 o Windows Vista, en el Panel de control, haga clic en Sistema y seguridad, seleccione Firewall de Windowsy haga clic en Configuración avanzada. En Windows Server 2008 o 2008 R2, abra Herramientas administrativas y haga clic en Firewall de Windows con seguridad avanzada. En Windows Server 2012, abra la página Aplicaciones y escriba Firewall de Windows.

  2. Para desbloquear el acceso a Analysis Services, haga clic con el botón derecho en Reglas de entrada y seleccione Nueva regla.

  3. En Tipo de regla, haga clic en Puerto y, después, haga clic en Siguiente.

  4. En Protocolo y puertos, seleccione TCP y escriba el puerto fijo en Puertos locales específicos.

  5. En Acción, haga clic en Permitir la conexión y, después, haga clic en Siguiente.

  6. En Perfil, borre cualquier ubicación de red que no sea aplicable y haga clic en Siguiente.

  7. En Nombre, escriba un nombre descriptivo para esta regla, por ejemplo, SQL Server Analysis Services en puerto 54321, y haga clic en Finalizar.

  8. Para comprobar que las conexiones remotas están habilitadas, abra SQL Server Management Studio o Excel en otro equipo y conéctese a Analysis Services especificando el nombre de red del servidor y el número de puerto en este formato: <servername>:<portnumber>.

Sintaxis de Netsh AdvFirewall

  • Los siguientes comandos crean reglas de entrada que desbloquean el puerto TCP 2382 para el servicio SQL Server Browser y desbloquean el puerto fijo que especificó para la instancia de Analysis Services. Puede ejecutar cualquiera de los comandos siguientes para permitir el acceso a una instancia con nombre de Analysis Services.

    En este comando de ejemplo, el puerto 54321 es el puerto fijo. Asegúrese de reemplazarlo con el puerto real en uso en el sistema.

    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  
    

Utilizar un puerto fijo para una instancia predeterminada o con nombre de Analysis Services

En esta sección se explica cómo configurar Analysis Services para escuchar en un puerto fijo. El uso de un puerto fijo es habitual si se instala Analysis Services como una instancia con nombre, pero también puede usar este método si los requisitos de seguridad o de la empresa especifican que se usen asignaciones de puertos no predeterminadas.

Tenga en cuenta que el uso de un puerto fijo modificará la sintaxis de conexión para la instancia predeterminada exigiéndole anexar el número de puerto al nombre del servidor. Por ejemplo, la conexión a una instancia predeterminada local de Analysis Services que escucha en el puerto 54321 en SQL Server Management Studio requeriría escribir localhost:54321 como nombre del servidor en el cuadro de diálogo Conectar con el servidor en Management Studio.

Si usa una instancia con nombre, puede asignar un puerto fijo sin cambios en la forma de especificar el nombre del servidor (en concreto, puede usar <servername\instancename> para conectarse a una instancia con nombre que escucha en un puerto fijo). Esto solo funciona si se está ejecutando el servicio SQL Server Browser y se desbloquea el puerto en el que escucha. SQL Server servicio Browser proporcionará redireccionamiento al puerto fijo basado en <servername\instancename>. Siempre y cuando abra puertos para el servicio SQL Server Browser y para la instancia con nombre de Analysis Services que escucha en el puerto fijo, el servicio SQL Server Browser resolverá la conexión con una instancia con nombre.

  1. Determine un puerto TCP/IP disponible para su uso.

    Para ver una lista de los puertos reservados y registrados cuyo uso debe evitar, vea la página dedicada a los números de puerto (IANA). Para ver una lista de puertos que ya están en uso en el sistema, abra una ventana del símbolo del sistema y escriba netstat -a -p TCP para mostrar una lista de los puertos TCP que están abiertos en el sistema.

  2. Después de determinar qué puerto va a usar, especifique el puerto modificando el valor de configuración de Port en el archivo msmdsrv.ini o en la página Propiedades generales de una instancia de Analysis Services en SQL Server Management Studio.

  3. Reinicie el servicio.

  4. Configure Firewall de Windows para desbloquear el puerto TCP que especificó. O bien, si está utilizando un puerto fijo para una instancia con nombre, desbloquee el puerto TCP que especificó para esa instancia y también el puerto TCP 2382 para el servicio SQL Server Browser.

  5. Haga la comprobación conectando localmente (en Management Studio) y después remotamente, desde una aplicación cliente de otro equipo. Para usar Management Studio, conéctese a una instancia predeterminada de Analysis Services especificando un nombre de servidor en este formato: <servername>:<portnumber>. Para una instancia con nombre, especifique el nombre del servidor como <nombreDeServidor>\<nombreDeInstancia>.

Configuración de puertos para un clúster de Analysis Services

Un clúster de conmutación por error de SQL Server Analysis Services siempre escucha en el puerto TCP 2383, independientemente de si lo instaló como una instancia predeterminada o una instancia con nombre. Las asignaciones de puertos dinámicos no se usan en SQL Server Analysis Services cuando se instala en un clúster de conmutación por error de Windows. Asegúrese de abrir TCP 2383 en todos los nodos que ejecutan SQL Server Analysis Services en el clúster. Para obtener más información sobre la agrupación en clústeres SQL Server Analysis Services, consulte How to Cluster SQL Server Analysis Services (Cómo SQL Server Analysis Services de clústeres).

Configuración de puertos de PowerPivot para SharePoint

La arquitectura de servidor para Power Pivot para SharePoint es fundamentalmente diferente en función de la versión de SharePoint que use.

SharePoint 2013

En SharePoint 2013, Excel Services redirige las solicitudes de modelos de datos de Power Pivot, que posteriormente se cargan en una instancia de SQL Server Analysis Services fuera del entorno de SharePoint. Las conexiones siguen el patrón típico, donde una biblioteca cliente de Analysis Services en un equipo local envía una solicitud de conexión a una instancia de SQL Server Analysis Services remota en la misma red.

Dado que Power Pivot para SharePoint siempre instala SQL Server Analysis Services como una instancia con nombre, debe asumir SQL Server servicio Browser y asignaciones de puertos dinámicos. Como se indicó anteriormente, SQL Server servicio Browser escucha en el puerto TCP 2382 para las solicitudes de conexión enviadas a SQL Server Analysis Services instancias con nombre, redirigiendo la solicitud al puerto actual.

Tenga en cuenta que Excel Services en SharePoint 2013 no admite la sintaxis fija de conexión de puerto, por lo que debe asegurarse de que el servicio SQL Server Browser es accesible.

SharePoint 2010

Si está usando SharePoint 2010, no necesita abrir puertos en Firewall de Windows. SharePoint abre los puertos que requiere y los complementos como Power Pivot para SharePoint funcionan en el entorno de SharePoint. En una instalación de Power Pivot para SharePoint 2010, el servicio de sistema de PowerPivot tiene un uso exclusivo de la instancia de servicio local SQL Server Analysis Services (Power Pivot) que se instala con él en el mismo equipo. Usa conexiones locales, no conexiones de red, para acceder al servicio de motor local de Analysis Services que carga, consulta y procesa datos de PowerPivot en el servidor de SharePoint. Para solicitar datos de PowerPivot desde aplicaciones cliente, las solicitudes se enrutan a través de puertos abiertos por el programa de instalación de SharePoint (específicamente, las reglas de entrada se definen para permitir el acceso a SharePoint - 80, Administración central de SharePoint v4, SharePoint Web Services y SPUserCodeV4). Dado que los servicios web de PowerPivot se ejecutan dentro de una granja de Servidores de SharePoint, las reglas de firewall de SharePoint son suficientes para el acceso remoto a los datos de Power Pivot en una granja de SharePoint.

Consulte también

Servicio SQL Server Browser (motor de base de datos y SSAS)
Iniciar, detener, pausar, reanudar y reiniciar el motor de base de datos, Agente SQL Server o el Servicio SQL Server Browser
Configuración de Firewall de Windows para el acceso al motor de base de datos