我有3個數據庫具有相同的結構,但數據不同,因爲它們來自不同的客戶端。具有多個DB的SSAS多維數據集
現在,我有一個現有的SSAS項目。其數據源視圖,多維數據集和維度只能使用或訪問一個數據庫。
- 我想要的是能夠使用具有相同結構的多個數據庫,並使用它們創建一個多維數據集。
- 每個客戶端也必須能夠使用多維數據集,但他們只能看到他們自己的數據。
diagram http://oi59.tinypic.com/u7ci1.jpg
這些是可能的嗎?你能否提供見解和一些有用的參考資料?
我有3個數據庫具有相同的結構,但數據不同,因爲它們來自不同的客戶端。具有多個DB的SSAS多維數據集
現在,我有一個現有的SSAS項目。其數據源視圖,多維數據集和維度只能使用或訪問一個數據庫。
diagram http://oi59.tinypic.com/u7ci1.jpg
這些是可能的嗎?你能否提供見解和一些有用的參考資料?
簡易解決方案 解決此問題的最簡單方法是僅使用三個Analysis Services數據庫。安裝過程很簡單,只需要三個結構相同的數據庫,不需要管理多維數據集內的安全性,只需訪問多維數據集。管理起來很容易,而且很難出錯,使用戶可以訪問他們不應該看到的數據。由於沒有人可以從其他公司獲取數據,所以不需要一個普通的立方體。
只需使用不同的Analysis Services數據庫名稱部署您的項目三次。 然後將已部署的數據庫的數據源對象更改爲指向不同的關係數據庫。
第一步,在Business Intelligence Development Studio中,右鍵單擊解決方案資源管理器中的項目節點,選擇底部條目(「屬性」),然後選擇「部署」。在這裏,您可以輸入服務器以部署解決方案以及數據庫名稱。關閉對話框後,再次右鍵單擊項目節點,然後選擇「部署」。重複這一步,使用三個不同的數據庫名稱。
然後,連接到SQL Server Management Studio中的Analysis Services服務器,打開每個數據庫,並編輯每個數據庫的數據源對象以指向其關係數據庫。 之後,重新處理Analysis Services數據庫。
另外,你也可以做所有事情在BIDS,我。即在更改用於部署和部署的目標數據庫之間,在那裏更改數據源,並且在部署之後,可能需要重新處理Analysis Services數據庫。
如果您認爲您需要多次更改和部署多維數據集定義,那麼您可能可以使用「配置管理器」按鈕在項目屬性對話框中編輯的配置。您將擁有三個配置,每個目標Analysis Services數據庫都有一個配置。您可以爲每個部署選擇工具欄下拉列表中的某個配置,而無需一次又一次編輯屬性。
如果您需要經常這樣做,我認爲通過XMLA,或通過AMO或PowerShell自動執行更改數據庫和重新處理多維數據集的步驟並不困難。但爲了實現這一點,這將是另一個問題。
更復雜的解決方案
如果你真的想在一個立方體的一切,那麼你就必須有從數據源視圖不同來源的表的聯合。如果所有三個關係數據庫都位於同一個SQL Server實例中,則可以將其定義爲數據源視圖中的命名查詢,或者將其定義爲其中一個數據庫中的視圖,甚至可以更好地將其視爲獨立關係中的視圖或表數據庫。您可以以NameOfDB.Schema.Tablename
的形式訪問表或查看其他SQL Server數據庫中運行的數據庫。
如果這些數據庫在不同的情況下,你可以使用鏈接的服務器。
和當然,你將不得不在管理這些不同的數據庫中的鍵,以便同維條目具有相同的密鑰和不同尺寸的條目有不同的密鑰。而且您必須在立方體中設置安全性,以便任何用戶都無法看到無法看到的數據。
雖然你可以使用Analysis Services中不同的表或命名查詢Analysis Services中不同的數據源對象,每一個這些只使用一個,因爲實際上,這是發送到該源一個SQL語句。並且維需要基於一個數據源視圖對象,如一個命名查詢,視圖或表。對於事實表,您可以使用分區來解決此問題,但不能用於維度。
謝謝您的回答,但我只得到了這麼遠 - 只需使用一個不同的Analysis Services數據庫名稱部署項目的三倍。 我真的很新。我一直在研究立方體和SSAS大約3天。您能否詳細解釋如何執行您的下一個建議步驟?謝謝弗蘭克! – Raii
@Raii我編輯了我的答案,給出了更多步驟的細節。 – FrankPl
@FrankPI我會在明天嘗試這一天(我現在沒有時間),我會讓你知道的。謝謝! – Raii