Configurar el Firewall de Windows para obtener acceso a Analysis Services

Utilice la información de este tema para determinar si necesita desbloquear puertos de un firewall para permitir el acceso a Analysis Services o PowerPivot para SharePoint. Puede seguir los pasos proporcionados en este tema para configurar las opciones de los puertos y del firewall. En la práctica, debe realizar estos pasos juntos para permitir el acceso al servidor de Analysis Services.

Los requisitos de configuración del firewall varían dependiendo del componente de Analysis Services instalado. Si instaló PowerPivot para SharePoint, no necesita abrir puertos en Firewall de Windows. En cambio, una conexión remota a una instalación independiente de Analysis Services requiere siempre que abra un puerto.

La instancia predeterminada de Analysis Services escucha en el puerto TCP 2383, pero puede configurar el servidor para que escuche en otro puerto fijo o usar las asignaciones dinámicas de puerto y el servicio SQL Server Browser.

Este tema contiene las siguientes secciones:

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

Configurar Firewall de Windows para una instancia predeterminada de Analysis Services

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

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

Configuración de puertos de PowerPivot para SharePoint

Use a fixed port for a default or named instance of Analysis Services

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 , el firewall está activado de forma predeterminada y está bloqueando las conexiones remotas. Si está ejecutando los sistemas operativos Windows Server 2008 R2, Windows Server 2008, Windows 7 o Windows Vista, debe abrir manualmente un puerto en el firewall para permitir las solicitudes entrantes a 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 para ese PID.

  • Compruebe el puerto utilizando SQL Server Management Studio y conéctese a un servidor de Analysis Services con este formato: <direcciónIP>:<númeroDePuerto>.

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 un servidor de Analysis Services, todas las excepciones de firewall se deben definir manualmente. Aunque Analysis Services reserva los puertos 2382 y 2383, ni el programa de instalación de SQL Server ni ninguna de las herramientas de configuración definen reglas de firewall para permitirle el acceso a los puertos o los archivos ejecutables de programa.

Configurar Firewall de Windows para una instancia predeterminada de Analysis Services

Una instancia predeterminada de Analysis Services escucha en el puerto TCP 2383. Si instaló la instancia predeterminada y desea usar este puerto, solo tiene que desbloquear el acceso de entrada al puerto TCP 2383 en Firewall de Windows para habilitar el acceso remoto a una instancia predeterminada de Analysis Services. Si instaló la instancia predeterminada pero desea configurar el servicio para que escuche en un puerto fijo, vea Use a fixed port for a default or named instance of 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)).

Configurar 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 Windows y haga clic en Configuración avanzada. En Windows Server 2008 ó 2008 R2, abra Herramientas administrativas y haga clic en Firewall de Windows con seguridad avanzada.

  2. Haga clic con el botón secundario 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 un equipo diferente y conéctese a Analysis Services especificando el nombre de red del servidor en Nombre de servidor.

    Nota

    Otros usuarios no tendrán acceso a este servidor hasta que les conceda permisos. Para obtener más información, vea Conceder acceso a los usuarios.

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 Analysis Services pueden escuchar en un puerto fijo o en un puerto asignado dinámicamente, donde el servicio SQL Server Browser proporciona información de la conexión actual para el servicio en el momento de la conexión.

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

  • Use un puerto fijo y desbloquéelo en el Firewall de Windows. Conéctese al servidor con este formato: <nombreDeServidor>:<númeroDePuerto>.

  • 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 con este formato: <nombreDeServidor>\<nombreDeInstancia>.

  • Use un puerto fijo y el servicio SQL Server Browser conjuntamente. Este método le permite conectarse utilizando este formato: <nombreDeServidor>\<nombreDeInstancia>, idéntico al de asignación dinámica de puertos, excepto 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 usar el servicio SQL Server Browser, debe asignar un puerto fijo. 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.

Configurar 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 Windows y 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.

  2. Para desbloquear el acceso al servicio SQL Server Browser, haga clic con el botón secundario 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 un equipo diferente y conéctese a Analysis Services especificando el nombre de red del servidor y el nombre de instancia en este formato: <nombreDeServidor>\<nombreDeInstancia>. 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 Use a fixed port for a default or named instance of 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 Windows y haga clic en Configuración avanzada. En Windows Server 2008 ó 2008 R2, abra Herramientas administrativas y haga clic en Firewall de Windows con seguridad avanzada.

  2. Para desbloquear el acceso a Analysis Services, haga clic con el botón secundario 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 un equipo diferente y conéctese a Analysis Services especificando el nombre de red del servidor y el número de puerto en este formato: <nombreDeServidor>\<númeroDePuerto>.

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 está utilizando una instancia con nombre, puede asignar un puerto fijo sin cambios al procedimiento de especificar el nombre del servidor (en concreto, puede utilizar <nombreDeServidor\nombreDeInstancia> para conectar con 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. El servicio SQL Server Browser proporcionará la redirección al puerto fijo de acuerdo con <nombreDeServidor\nombreDeInstancia>. 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 los puertos que ya están en uso en el sistema, abra una ventana de 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, conecte con una instancia predeterminada de Analysis Services especificando un nombre de servidor con este formato: <nombreDeServidor>:<númeroDePuerto>. Para una instancia con nombre, especifique el nombre de servidor como <nombreDeServidor>\<nombreDeInstancia>.

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

En los equipos que tienen varias tarjetas de red, Analysis Services escucha en todas las direcciones IP utilizando el puerto especificado. En una instancia en clúster, Analysis Services escuchará en todas las direcciones IP del grupo de clústeres, pero solo en el puerto TCP 2383. No puede especificar un puerto fijo alternativo para una instancia en clúster.

Configuración de puertos de PowerPivot para SharePoint

Si instaló PowerPivot para SharePoint, no necesita abrir puertos en Firewall de Windows. En una instalación de PowerPivot para SharePoint, el Servicio de sistema de PowerPivot tiene uso exclusivo de la instancia del servicio local de SQL Server Analysis Services (PowerPivot) que se instala con él en el mismo equipo. Utiliza conexiones locales, no conexiones de red, para tener acceso al servicio de motor local de Analysis Services que carga, consulta y procesa datos PowerPivot en el servidor de SharePoint. Para solicitar datos PowerPivot de las aplicaciones cliente, las solicitudes se enrutan a través de los puertos abiertos por el programa de instalación de SharePoint (en concreto, se definen reglas de entrada para permitir el acceso a SharePoint - 80, Administración central de SharePoint v4, SharePoint Web Services y SPUserCodeV4). Puesto que los servicios web PowerPivot se ejecutan dentro de una granja de servidores de SharePoint, las reglas de firewall de SharePoint son suficientes para el acceso remoto a datos PowerPivot en una granja de servidores de SharePoint.