Sql server的Analysis Service服务默认使用的是2382或2383端口,但是实际上我们可以通过配置文件手动更改SSAS使用其它端口号。
修改SSAS使用端口号的方法如下,找到你的SSAS安装目录下的Config文件夹(例如D:Program FilesMicrosoft SQL ServerMSAS12.MSSQLSERVEROLAPConfig),然后用记事本打开msmdsrv.ini文件
然后定位到<port>这个XML节点,这个节点的默认值是0,也就是指使用SSAS的默认端口(2382,2383),你可以将该值修改成其它端口号,那么重启SSAS服务后,SSAS就会开始使用你在这里设置的端口号。
那么假如现在SSAS不是使用的默认端口号(2382,2383)那么我们应该怎么构造Olap的连接字符按串呢?
默认情况下如果你在Olap连接字符串中不声明端口号,那么程序默认会连接SSAS服务器的2382或2383端口,但是如果现在SSAS不是使用的2382或2383端口,则需要在Olap的连接字符串的DataSource部分加上SSAS服务使用的端口号,如下所示:
Provider=MSOLAP.6;Data Source=localhost:8080instance02;Integrated Security=SSPI;Initial Catalog=RetailCustomerInsight
注意DataSource部分的完整格式为<SSAS服务器地址>:<SSAS服务使用的端口号><Sql server实例名称>,如果adomd.net程序使用上面这个Olap连接字符串,那么adomd.net程序就会尝试去连接localhost上8080端口的SSAS服务。
同样使用SQL Server Management Studio去连接SSAS服务的时候,也可以声明SSAS服务使用的端口号和实例名称,这样就可以通过自定义的端口号(而不是默认的2382或2383端口号)连接到SSAS服务了。
如何知道当前SSAS使用的端口:
1.首先打开SQL Server Configuration Manager,找到SSAS服务的windows进程ID
2.使用windows系统管理员权限打开CMD,输入命令行
netstat /abo >>d:output.txt
3.待上面的命令行执行完毕后,打开d:output.txt,找到步骤1里面获得的进程ID,查看 本地地址 列的IP地址和端口信息,就可获得SSAS当前使用的端口号
4.为了验证我们获取到的端口号是否正确,我们可以使用该端口号登录SSAS服务