2013-07-17 67 views
1

我有三種不同的環境;開發,測試和生產。在多個環境中部署時SSAS連接字符串?

這三個SSAS環境連接到三個不同的SQL Server實例。

但是,服務器在SSAS數據源中是硬編碼的,因此當您部署時,實例會因爲指向錯誤的,不可訪問的SQL Server而中斷。

如何配置SSAS數據源連接字符串,以便在部署時不覆蓋它,或者,如何使其可以變爲可變,以便查找其部署到的環境的正確值?

我已經在部署到每個環境之前手動編輯.asdatabase文件,但這是一個不可接受的更改控制過程違反,所以我必須得到一個更合適的機制。也許有一個非常簡單的解決方案,但如果是這樣,我還沒有想出它。

回答

1

一種方法可能是在部署SSAS多維數據集時,可以運行一個XMLA腳本來設置SSAS連接字符串中的SQL Server數據源。另一種方法是,您可以在所有環境中將源設置爲具有相同名稱的系統DSN,並在ODBC數據源控制面板上進行調整。出於各種原因,我更喜歡前者,但後者可以工作。

+0

使用系統DSN聽起來很有前途,但是,我們在這裏談論理論還是實踐? SSAS數據源似乎是嵌入式的,我沒有看到引用系統DSN的方法。有人能啓發我嗎? – tlum

+0

自從我上次做這件事以來已經有一段時間了,但基本上,您通過選擇ODBC驅動程序的OLEDB提供程序選擇Analysis Services中的DSN - 鏈接是一個示例:http://dbms.knowledgehills.com/Create-ODBC-DSN-for-Analysis -Services/a41p4。 –

+0

恐怕是2000年,我在使用SSAS 2008 R2。 – tlum

0

最近這讓我有點瘋狂,但我設法做到這一點,使用部署嚮導(我使用表格,因此我必須使用v17)部署到開發。然後在SSMS中,我連接到我的開發Analysis Services實例,右鍵單擊數據源並在那裏更改連接屬性,然後手動處理。

此前,如果我在SSDT中使用過,目前爲止還不能解決某些未知的問題(我希望能夠達到它的底部)。

雖然我不覺得這是最好的解決方案,但我嘗試過使用部署腳本,但那也不管用。