使用部署精靈部署模型解決方案

適用于:SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services部署精靈會使用從SQL Server Analysis Services專案產生的 JSON 輸出檔作為輸入檔。 這些輸入檔可以輕鬆地修改,以自訂SQL Server Analysis Services專案的部署。 產生的部署指令碼可以立即執行,或儲存供稍後進行部署使用。

部署精靈/公用程式會安裝SQL Server Management Studio ( SSMS) 。 請確定您使用的是最新版本。 如果從命令提示字元執行,預設會將最新版本的部署精靈安裝到 C:\Program Files (x86) \Microsoft SQL Server Management Studio 18\Common7\IDE。

您可以使用精靈進行部署,如這裡所述。 也可以自動化部署或使用同步處理功能。 如果部署的資料庫很龐大,請考慮在目標系統上使用資料分割。 您可以使用 TOM (表格式物件模型 (TOM) 、表格式模型 Scriting Language (TMSL) ,以及分析管理物件 (AMO) ,將資料分割建立和擴展自動化。

重要

如果輸出檔或部署腳本未在資料來源或模擬用途的連接字串中指定這些檔案,則不會包含使用者識別碼或密碼。 由於在這種狀況下需要使用這些資訊進行處理,所以您將手動加入這些資訊。 如果部署不包含處理,您就可以在部署之後視需要加入此連接和模擬資訊。 如果部署包含處理,您可以在儲存之後於精靈內部或在部署指令碼中加入這項資訊。

執行部署精靈

部署精靈可以執行下列方式:

  • 互動 - 以互動方式執行時,部署精靈會根據輸入檔產生部署腳本,如使用者輸入以互動方式修改。 精靈只會將使用者修改套用至部署指令碼。 精靈不會修改輸入檔。

  • 從命令提示字元 - 在命令提示字元 執行時,部署精靈會根據您用來執行精靈的參數產生部署腳本。 此精靈可以是下列其中之一:提示使用者輸入並依據該輸入來修改輸入檔;依現狀使用輸入檔來執行無訊息自動部署;或建立可稍後使用的部署指令碼。

以互動方式執行

以互動方式執行時,部署精靈會從輸入檔案讀取值,並將此資訊呈現給您。 您可以修改這些輸入值,例如部署目的地、組態設定、部署選項,以及連接字串密碼,或保持原樣。 如果您變更任何輸入值,精靈會在產生部署腳本時使用這些變更。 不過,精靈不會對輸入檔中的值做任何變更。

注意

如果您想要讓部署精靈修改輸入值,請在命令提示字元執行精靈,並將精靈設定為在回應檔案模式中執行。

檢閱輸入值並進行任何想要的變更之後,精靈會產生部署腳本。 您可以在目的地伺服器上立即執行此部署指令碼,或儲存指令碼供稍後使用。

以互動方式執行 Analysis Services 部署精靈

  • 按一下 [開始],然後輸入 Analysis Services 部署精靈

    -或-

  • 在SQL Server Analysis Services專案的Projects 資料夾中,按兩下 < 專案 name.asdatabase > 檔案。

    注意

    如果您找不到 .asdatabase 檔案,請試著使用 [搜尋] 功能並指定 *.asdatabase。 或者,您可能需要在 SSDT 中建置專案。

在命令提示字元中執行

您也可以在命令提示字元執行部署精靈。 在命令提示字元中執行時,您會提供 .asdatabase 檔案的完整路徑,並在下列其中一種模式中執行精靈:

回應檔案模式
在回應檔案模式中,精靈可讓您以互動方式修改原本在建置SQL Server Analysis Services專案時產生的輸入檔案SQL Server Data Tools。 精靈會先儲存這些修改過的輸入檔案,再產生部署腳本。 下次執行精靈時,已修改的輸入檔會變成新的起點。

若要在回應檔案模式中執行精靈,請使用 /a 參數。

無訊息模式
在無訊息模式中,精靈會依據輸入檔的資訊來執行無訊息自動部署。

若要以無訊息模式執行精靈,請使用 /s 參數。 當您在無訊息模式中執行精靈時,訊息會輸出到主控台,或是所提供的記錄檔。

輸出模式
在輸出模式中,精靈會產生部署腳本,以供稍後根據輸入檔執行。

若要在輸出模式中執行精靈,請使用 /o 參數並提供輸出檔案名。

如需這些命令列參數的詳細資訊,請參閱 使用部署公用程式部署模型解決方案

在命令提示字元下執行 Analysis Services 部署精靈

  1. 如果使用 SSMS 18.x 安裝,請開啟命令提示字元,然後流覽至預設路徑 C:\Program Files (x86) \Microsoft SQL Server Management Studio 18\Common7\IDE。

  2. 輸入 Microsoft.AnalysisServices.Deployment.exe ,後面接著您要用於執行精靈之模式的對應參數。

了解部署指令碼

部署精靈所產生的 XMLA 部署腳本包含兩個區段:

  • 部署腳本的第一個部分包含建立、改變或刪除目的地資料庫中適當 Microsoft SQL Server 物件所需的命令。 根據預設,SQL Server Analysis Services專案所產生的輸入檔是以累加部署為基礎。 因此,XMLA 部署指令碼將只會影響已變更或刪除的物件。

  • 部署指令碼的第二個部分包含僅要處理目的地伺服器上所建立或改變的物件時所需的命令 ([處理預設] 選項) 或完整處理目的地資料庫時所需的命令。 您也可以選擇讓部署指令碼不包含任何處理命令。

整個部署指令碼可在單一交易或多筆交易中執行。 如果指令碼在多筆交易中執行,指令碼的第一個部分會以單一交易執行,而每一個物件會在它自己的交易中處理。

重要

SQL Server Analysis Services部署精靈只會將物件部署到單一SQL Server Analysis Services資料庫。 它不會部署任何伺服器層級的物件或資料。

部署指令檔 - 用來建立部署指令碼的輸入

當您建置專案時,SQL Server Data Tools產生專案的檔案。 SQL Server Data Tools然後將這些檔案放在專案的 [輸出] 資料夾中。 根據預設,輸出會放在 \Bin 資料夾中。 下表列出SQL Server Data Tools建立的 XML 檔案:

檔案 描述
<專案名稱> 。asdatabase 多維度或 1100/1103 表格式模型專案的 XMLA 檔案,或表格式 1200 和更高模型專案的 JSON 檔案。 包含專案中所有SQL Server Analysis Services物件的宣告式定義。
<專案名稱> 。deploymenttargets 包含將建立SQL Server Analysis Services物件之SQL Server Analysis Services實例和資料庫的名稱。
<專案名稱> 。configsettings 包含環境特定設定,例如資料來源連接資訊和物件儲存位置。 此檔案中的設定會覆寫專案name.asdatabase > 檔案中的 < 設定。
<專案名稱> 。deploymentoptions 包含部署選項,例如部署是否為交易式,以及部署之後是否應處理部署的物件。

SQL Server Data Tools永遠不會將密碼儲存在專案檔中。

修改輸入檔

修改輸入檔中的值,或從輸入檔擷取的值,可讓您變更部署目的地、組態設定和部署選項,而不需編輯整個 <專案名稱> .asdatabase 檔案 (或整個腳本檔案,如果您從現有的SQL Server Analysis Services資料庫產生腳本) 。 您可以修改個別的檔案,以輕鬆地針對各種用途建立不同的部署指令碼。

部署腳本檔案 - 指定安裝目標

部署精靈會從 <專案name.deploymenttargets > 檔案讀取安裝目標資訊。 當您建置專案時,SQL Server Data Tools建立此檔案。 SQL Server Data Tools使用 [專案名稱 > 屬性頁] 對話方塊的 < [部署] 頁面上指定的資料庫和伺服器,來建立 <專案 name.targets> 檔案。

修改安裝目標

在某些情況下,您可能需要將專案部署到資料庫或實例,而該資料庫或實例與 部署 頁面上指定的資料庫或實例不同。 例如,您可能需要在部署之前先將專案部署到伺服器以進行測試,然後在測試完成後再部署到實際伺服器。 您也可能需要將完整與測試的專案部署到網路負載平衡叢集中的多個實際伺服器,或部署到臨時伺服器和實際伺服器。

若要將專案部署到不同的資料庫或實例,請使用下列程式所述的其中一種方法,變更輸入檔中的安裝目標:

若要在已產生輸入檔之後,變更安裝目標

  • 以互動方式執行SQL Server Analysis Services部署精靈。 在 [安裝目標] 頁面上,指定SQL Server Analysis Services實例和資料庫的新目的地。

    -或-

  • 在命令提示字元執行SQL Server Analysis Services部署精靈,並將精靈設定為在回應檔案模式中執行。

    -或-

  • <使用任何文字編輯器修改專案 name.deploymenttargets> 檔案。

部署指令碼檔案 - 資料分割和角色部署選項

部署精靈會從 <專案name.deploymentoptions > 檔案讀取資料分割和角色部署選項。 當您建置專案時,SQL Server Data Tools建立此檔案。 SQL Server Data Tools然後在建立專案name.deploymentoptions > 檔案時 < ,使用目前專案的分割區和角色部署選項。

檢閱分割區和角色部署選項

專案name.deploymentoptions > 檔案中的 < 部署選項包括:

資料分割部署選項
<專案name.deploymentoptions > 檔案會指定是否保留或覆寫目的地資料庫中的現有分割區, (預設) 。 如果保留現有的資料分割,則只會部署新的資料分割,而所有現有的量值群組上的資料分割與彙總設計都會保持不變。

如果刪除存在有資料分割的量值群組,則也會自動刪除資料分割。

角色部署選項
<專案name.deploymentoptions > 檔案會指定下列其中一個角色部署選項:

  • 保留目的地資料庫中之現有的角色和角色成員,僅部署新角色和角色成員。

  • 以正在部署的角色和成員取代目的地資料庫中之所有現有的角色和成員。

  • 保留目的地資料庫中之現有的角色和角色成員,而且不部署新角色。

保留現有的角色和成員時,與這些角色相關聯的許可權會重設為無。 安全性權限包含在它們所保護的物件中,而非與它們相關聯的安全性角色。 如需如何使用 Analysis Service 部署精靈處理此行為的詳細資訊,請參閱 Microsoft 知識庫中的。

修改分割區和角色部署選項

您可能必須使用不同于儲存在專案 name.deploymentoptions> 檔案中的 < 分割區和角色選項來部署專案。 例如,您可能想要保留現有的分割區、角色和角色成員,而不是取代所有現有的分割區、角色和成員,如專案name.deploymentoptions > 檔案中所述 < 。

若要修改專案中的分割區和角色部署,您無法變更專案中的分割區和角色設定,因為< SQL Server Data Tools專案中的專案名稱 > [屬性頁面] 對話方塊不會顯示這些選項。 如果您想要變更角色和分割區的部署選項,您必須在專案name.deploymentoptions > 檔案本身內 < 變更此資訊。 下列程式描述如何變更專案name.deploymentoptions > 檔案內的 < 分割區和角色部署選項。

在已產生輸入檔之後,變更資料分割或角色的部署

  • 以互動方式執行部署精靈,然後在 [ 資料分割和角色部署選項 ] 頁面上,指定分割區和角色的新部署選項。

    -或-

  • 在命令提示字元執行部署精靈,並將精靈設定為在回應檔案模式中執行。

    -或-

  • 在任何 < 文字編輯器中開啟專案 name.deploymentoptions> ,然後手動變更選項。 PartitionDeployment 的選項包括 DeployPartitions、RetainPartitions。 RoleDeployment 的選項包括 DeployRolesAndMembers、DeployRolesRetainMembers、RetainRoles。

部署腳本檔案 - 解決方案部署組態設定

[部署精靈] 會從 <專案name.configsettings > 檔案讀取部署腳本中使用的分割區和角色部署選項。 針對多維度專案,SQL Server Data Tools當您建置專案時建立此檔案。 對於表格式專案,視版本而定,可能需要以回應模式執行部署精靈來產生 .configsettings 檔案。 SQL Server Data Tools使用目前專案的組態設定來建立 <專案name.configsettings > 檔案。

檢閱組態設定

以下是儲存在專案name.configsettings > 檔案中的 < 組態設定:

  • 資料來源連接字串 - 這些是每個資料來源的連接字串,以專案中指定的值為基礎。 在這個檔案中儲存連接字串的其餘部分之前,一定會從字串中移除使用者識別碼和密碼。 不過,如果「部署精靈」直接部署至 Analysis Services 執行個體,您就可以在精靈中加入適當的使用者識別碼和密碼資訊,以便成功處理部署資料庫。 如果「部署精靈」有儲存指令碼,這項連接資訊將不會儲存在部署指令碼本身內。

  • 模擬帳戶- 此設定會指定SQL Server Analysis Services用來在每個資料來源中執行語句的使用者名稱。 如果未指定模擬帳戶,SQL Server Analysis Services會使用其登入帳戶來執行語句。 如果直接在資料來源中授與登入帳戶的許可權,SQL Server Analysis Services 實例中所有資料庫中的所有資料庫管理員都可以透過登入帳戶存取資料來源。 如果指定了使用者帳戶和密碼,則在這個檔案中儲存模擬資訊之前,一定會移除這項資訊。 不過,如果「部署精靈」直接部署至 Analysis Services 執行個體,您就可以在精靈中加入適當的使用者識別碼和密碼資訊,以便成功處理部署資料庫。 如果「部署精靈」有儲存指令碼,這項模擬資訊將不會儲存在部署指令碼本身內。

    注意

    對於 1400 和更高相容性層級與結構化提供者資料來源連線的表格式模型,在精靈的 [指定組態屬性] 頁面上選取 [ 保留現有物件的 組態設定] 時,不會保留儲存在目標伺服器表格式模型資料庫上的使用者名稱和密碼。 系統管理員必須在部署完成之後,使用 SSMS 手動設定使用者名稱和密碼。

  • 索引鍵錯誤記錄檔 - 此設定會指定資料庫中每個 Cube、量值群組、資料分割和維度之索引鍵錯誤記錄檔的檔案名和路徑。

  • 儲存位置 - 此設定會指定資料庫中每個 Cube、量值群組和資料分割的儲存位置。 如果未為物件提供任何值,部署精靈會使用物件的預設位置。 例如,資料分割會使用量值群組的位置、量值群組使用 Cube 的位置,而 Cube 則會使用伺服器實例上物件的預設位置。 此儲存位置可以是本機或通用命名慣例 (UNC) 路徑。

  • 報表伺服器 - 此設定會指定資料庫中每個 Cube 中定義之每一個報表動作的報表伺服器和資料夾位置。

修改組態設定

在某些情況下,您可能需要使用不同于儲存在專案 name.configsettings> 檔案中的 < 組態設定來部署專案。 例如,您可能需要變更一個或多個資料來源的連接字串,或為特定的資料分割或量值群組指定儲存位置。

若要修改專案中的資料分割和角色部署,您必須在專案name.configsettings > 檔案中 < 變更這項資訊,如下列程式所述。 您無法變更專案中的分割區和角色設定,因為< SQL Server Data Tools中的專案名稱 >[屬性頁面] 對話方塊不會顯示這些選項。

注意

組態設定可以套用至所有物件,或僅套用至新建立的物件。 只有在您將其他物件部署至先前部署SQL Server Analysis Services資料庫且不想覆寫現有物件時,才將組態設定套用至新建立的物件。 若要指定組態設定套用至所有物件,或只套用至新建立的物件,請在專案name.deploymentoptions > 檔案中 < 設定此選項。

在已產生輸入檔之後,變更組態設定

  • 以互動方式執行 [部署精靈],然後在 [組 態設定 ] 頁面上,指定所部署物件的組態設定。

    -或-

  • 在命令提示字元執行部署精靈,並將精靈設定為在回應檔案模式中執行。

    -或-

  • <使用任何文字編輯器修改專案 name.configsettings> 檔案。

部署腳本檔案 - 處理選項

部署精靈會從 <專案name.deploymentoptions > 檔案讀取處理選項。 當您建置專案時,SQL Server Data Tools建立此檔案。 SQL Server Data Tools使用 [專案名稱 > 屬性頁] 對話方塊的 [部署] 頁面上 <指定的處理選項,來建立 <專案名稱> .deploymentoptions 檔案。

檢閱處理選項

儲存在專案name.deploymentoptions > 檔案內的 < 組態設定如下:

  • 處理方法 - 此設定可控制部署的物件是否在部署後處理,以及將執行的處理類型。 有三個處理選項:

    • 預設處理 (預設) 會偵測資料庫物件的進程狀態,並執行將未處理或部分處理的物件傳遞至完整處理狀態所需的處理。

    • 完整處理會處理物件及其包含的所有物件。 對已經處理過的物件執行完整處理時,Analysis Services 會先卸除物件中的所有資料,然後再處理該物件。

    • 無表示不會執行任何處理。

  • 回寫資料表選項 - 如果專案中已啟用回寫,此設定會定義回寫的處理方式。 有三個回寫資料表選項:

    • 依預設,如果有回寫資料表,就會使用回寫資料表。 如果沒有回寫資料表,則會建立新的回寫資料表。

    • 如果已經存在回寫資料表,則部署會失敗。 如果沒有回寫資料表,則會建立新的回寫資料表。

    • 無論是否已存在回寫資料表,都會建立新的回寫資料表。 在此情況下,部署精靈會刪除任何現有的資料表,並將其取代為新的回寫資料表。

  • 交易式部署 - 此設定可控制中繼資料變更和處理命令的部署是否發生在單一交易或個別交易中。

    • 如果此選項為True (預設) ,SQL Server Analysis Services會部署單一交易內的所有中繼資料變更和所有處理命令。

    • 如果此選項為False,SQL Server Analysis Services會在單一交易中部署中繼資料變更,並在自己的交易中部署每個處理命令。

修改處理選項

不過,您可能需要使用與儲存在專案 name.deploymentoptions > 檔案中的 < 處理選項不同的處理選項來部署專案。 例如,您可能需要完整地處理所有的物件、或使用預設處理選項處理、或不進行處理。 如果 Cube 或維度是可寫入的,您可以指定使用新的或現有的回寫資料表。

若要修改部署期間使用的處理選項,您可以編輯並重建專案,或使用下列程序描述的方法之一,變更輸入檔中的處理選項。

若要在已產生輸入檔之後,變更處理選項

  • 以互動方式執行部署精靈。 在 [處理選項] 頁面上,指定正在部署之專案的處理選項。

    -或-

  • 在命令提示字元執行部署精靈,並將精靈設定為在回應檔案模式中執行。

    -或-

  • <使用任何文字編輯器修改專案 name.deploymentoptions> 檔案。

另請參閱

使用 XMLA 部署模型方案
使用部署公用程式部署模型解決方案