In Microsoft SQL Server 2012, you receive an error that resembles the following when you try to connect to a named instance of SQL Server Analysis Services (SSAS) by using IPv6:
No connection could be made because the target machine actively refused it [::n]:nnnnn (System)
In this error, n
is an integer
This issue can occur if the server that hosts the named instance of SSAS was configured to use IPv4 and IPv6 when SQL Server 2012 was installed. Then, the server was later reconfigured to use only IPv6.
To resolve this issue, follow these steps:
- Stop the SQL Server Analysis Services service.
- Open the Msmdredir.ini file in Notepad.
Note By default, the Msmdredir.ini file is located in the following folder:
%ProgramFiles%\Microsoft SQL Server\90\Shared\ASConfig
- In the Instances section, verify that the values for the Port property and the IPv6 property are different for the named instance.
- Delete the PortIPV6 property.
- Save the Msmdredir.ini file, and then exit Notepad.
- Start the SQL Server Analysis Services service.
When SSAS detects that the host server is configured to listen on both IPv4 and IPv6, SSAS creates two entries in the MSmdredir.ini file. However, if the server is configured to listen on one protocol, the <Port> entry is used.
Consider the scenario in which the server that hosts the named instance of SSAS was configured to use IPv4 and IPv6 when SQL Server 2012 was installed, and the server was later reconfigured to use only IPv6. In this scenario the Msmdredir.ini file may contain stale entries that do not point to ports on which the SSAS named instance is listening.
When the SQL Server Analysis Services service starts, the service detects the protocols that are being used and updates the Msmdredir.ini file. If the server was configured to use both IPv4 and IPv6, there are two entries in the Msmdredir.ini file. However, if the SQL Server Analysis Services service detects that one protocol is being used, only the Port property is updated. Therefore, the PortIPv6 property may contain stale information.
When the SQL Browser service reads the stale information, it may redirect requests to the named instance and cause connection failures. When the stale information that is contained in the PortIPv6 property is deleted, the information in the Port property is used.