Sql server的Analysis Service服務默認使用的是2382或2383端口,但是實際上我們可以通過配置文件手動更改SSAS使用其它端口號。
修改SSAS使用端口號的方法如下,找到你的SSAS安裝目錄下的Config文件夾(例如D:\Program Files\Microsoft SQL Server\MSAS12.MSSQLSERVER\OLAP\Config),然后用記事本打開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:8080\instance02;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服務