Share via


遠端和本機伺服器 (Analysis Services - 資料採礦)

資料採礦會要求建立與 SQL Server Analysis Services 執行個體的連接。雖然您不需要建立線上分析處理 (OLAP) Cube 或使用 OLAP 功能來進行資料採礦,但是 Analysis Services 引擎會提供許多優點 (例如效能和延展性),而且資料採礦會與 OLAP 共用許多元件。此主題將提供一些在您連接至 SQL Server Analysis Services 本機或遠端執行個體來建立、處理、部署或查詢資料採礦模型時需要了解的資訊。

設定權限和伺服器屬性

資料採礦需要 Analysis Services 資料庫的其他權限。您可以使用 Analysis Server 屬性對話方塊 (Analysis Services - 多維度資料) 來設定大部分資料採礦屬性。如需您可以設定之屬性的詳細資訊,請參閱<Analysis Services 組態屬性>。

下列伺服器屬性與資料採礦特別相關:

  • AllowAdHocOpenRowsetQueries:控制直接載入伺服器記憶體空間之 OLE DB 提供者的特定存取權。

    重要事項重要事項

    若要改善安全性,我們建議您將這個屬性設定為 false。預設值為 false。不過,即使這個屬性設定為 false,使用者仍然可以繼續建立單一查詢,而且可以針對允許的資料來源使用 OPENQUERY。

  • AllowedProvidersInOpenRowset:指定提供者 (如果已啟用特定存取的話)。您可以透過輸入逗號分隔的 ProgID 清單,指定多個提供者。

  • MaxConcurrentPredictionQueries:控制預測所造成的伺服器負載。預設值 0 允許無限制的查詢 (適用於 SQL Server Enterprise),而最大值是五個並行查詢 (適用於 SQL Server Standard)。超過此限制的查詢會進行序列化而且可能會逾時。

此伺服器會提供可控制哪些資料採礦演算法可用的其他屬性,包括演算法的任何相關限制,以及所有資料採礦服務的預設值。不過,目前沒有任何設定可讓您特別控制資料採礦預存程序的存取權。如需詳細資訊,請參閱<資料採礦屬性>。

您也可以設定屬性,以便微調伺服器以及控制用戶端使用量的安全性。如需詳細資訊,請參閱<功能屬性>。

注意:外掛程式演算法只能在 SQL Server Enterprise 中啟用。

以程式設計方式存取資料採礦物件

您可以使用下列物件模型來建立 Analysis Services 資料庫的連接以及使用資料採礦物件:

ADO:使用 OLE DB 來連接至 Analysis Services 伺服器。當您使用 ADO 時,用戶端就會限制為結構描述資料列集查詢和 DMX 陳述式。

ADO.NET:與 SQL Server 提供者互動的效果比其他提供者較佳。使用資料配接器來儲存動態資料列集。使用資料集物件,而這是儲存成可當做 XML 進行更新或儲存之資料表的伺服器資料快取。

ADOMD.NET:針對使用資料採礦和 OLAP 最佳化的 Managed 資料提供者。相較於 ADO.NET 而言,ADOMD.NET 的速度較快而且記憶體效率較高。ADOMD.NET 也可以讓您擷取有關伺服器物件的中繼資料。建議用戶端應用程式採用 (.NET 無法使用時除外)。

Server ADOMD:直接在伺服器上存取 Analysis Services 物件的物件模型。由 Analysis Services 預存程序使用,但不適合用戶端使用。

AMO:取代決策支援物 (DSO) 的 Analysis Services 管理介面。反覆運算物件等作業在使用 AMO 時會比使用其他介面需要更高的權限。這是因為 AMO 會直接存取中繼資料,而 ADOMD.NET 和其他介面只會存取資料庫結構描述。

瀏覽和查詢模型

您可以使用本機或遠端伺服器來執行所有種類的預測,但是有下列限制:

  • 如果您使用 Server ADOMD,就可以使用 DMX 來存取伺服器,而不需要建立連接。然後,您可以將結果直接複製到資料表中。不過,您無法使用 Server ADOMD 搭配遠端執行個體。您只能查詢本機伺服器。

  • ADO.NET 不支援適用於資料採礦的具名參數。您必須使用 ADOMD.NET。

  • ADOMD.NET 可讓您傳遞整個資料表,以便當做參數使用。因此,您可以使用用戶端的資料,或是伺服器無法使用的資料。您也可以將已成形的資料表當做預測輸入使用。

使用資料採礦預存程序

ADOMD.NET 可讓您以階層式形式瀏覽模型內容,並且遞迴所有節點。不過,如果您針對模型內容建立查詢,此查詢會傳回整個模型。若要避免傳回太多資料列,您可以使用 ADOMD+ 物件模型,針對 Analysis Services 撰寫預存程序。預存程序的常見用法是封裝查詢,以便重複使用。

用戶端可以使用 CALL 來執行預存程序,包括 Analysis Services 系統預存程序。如果此程序傳回資料集,用戶端將會收到資料集或資料表,其中具有包含資料列的巢狀資料表。若要撰寫伺服器預存程序,您必須參考 Microsoft.AnalysisServices.AdomdServer 命名空間。如需有關如何建立和使用預存程序的詳細資訊,請參閱<使用者定義函數和預存程序>。

[!附註]

預存程序無法用來變更資料伺服器物件的安全性。當您執行某個預存程序時,使用者的目前內容就會用來決定所有伺服器物件的存取權。因此,使用者必須針對他們所存取的任何資料庫物件擁有適當的權限。

在資料庫或伺服器之間移動資料採礦物件

您可以透過下列方式,在資料庫之間或 Analysis Services 執行個體之間移動資料採礦物件:部署方案;備份,然後還原資料庫的複本;匯出和匯入結構與模型。

部署是表示將模型從測試或開發伺服器移至不同伺服器的程序,以便進行生產、共用模型,或將模型嵌入應用程式中。如需有關部署 Analysis Services 方案的詳細資訊,請參閱<部署 (Analysis Services - 多維度資料)>。

備份和還原整個 Analysis Services 資料庫是絕佳的方法 (如果您的資料採礦方案相依於 OLAP 物件的話)。SQL Server 2008 會提供全新的備份和還原功能,讓資料庫備份更快速而且更方便。如需有關備份的詳細資訊,請參閱<管理備份與還原 (Analysis Services)>。

匯入和匯出採礦模型與結構 (利用 DMX 陳述式) 是移動或備份個別關聯式資料採礦物件最方便的方式。如需詳細資訊,請參閱下列主題:

如果您指定了 INCLUDE DEPENDENCIES 選項,Analysis Services 也會匯出任何所需資料來源檢視的定義,而且當您匯入模型或結構時,它將在目標伺服器上重新建立資料來源檢視。在您已經完成匯入模型的作業之後,請務必針對此物件設定必要的採礦權限。

[!附註]

您無法使用 DMX 來匯出和匯入 OLAP 模型。如果採礦模型是以 OLAP Cube 為基礎,您就必須針對整個資料庫使用 Analysis Services 備份和還原或部署功能。