使用部署精靈部署模型解決方案
適用於: 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)
您可以使用精靈進行部署,如這裡所述。 您也可以自動化部署或使用 Synchronize 功能。 如果已部署的資料庫很大,請考慮在目標系統上使用分割區。 您可以使用表格式物件模型 (TOM)、表格式模型 Scriting Language (TMSL) 和分析管理物件 (AMO) 將數據分割建立和母體擴展自動化。
重要
如果數據源的連接字串或模擬用途,輸出檔案或部署腳本都不會包含使用者標識元或密碼。 由於這些是在此案例中處理目的的必要專案,因此您將手動新增此資訊。 如果部署不會包含處理,您可以在部署之後視需要新增此連線和模擬資訊。 如果部署將包含處理,您可以在精靈中新增這項資訊,或在儲存後於部署腳本中新增此資訊。
執行部署精靈
部署精靈可以執行下列方式:
互動式 - 以互動方式執行時,部署精靈會根據輸入檔案產生部署腳本,使用者輸入會以互動方式修改。 精靈只會將任何使用者修改套用至部署腳本。 精靈不會修改輸入檔。
從命令提示字元 - 在命令提示字元執行時,部署精靈會根據您用來執行精靈的參數產生部署腳本。 精靈可能會有下列任一項:提示您輸入使用者,並根據該輸入修改輸入檔;使用輸入檔執行無訊息且自動部署,如下所示:或建立部署腳本,以供稍後使用。
以互動方式執行
以互動方式執行時,部署精靈會從輸入檔案讀取值,並將此資訊呈現給您。 您可以修改這些輸入值,例如部署目的地、組態設定、部署選項和連接字串密碼,或保留它們。 如果您變更任何輸入值,精靈會在產生部署腳本時使用這些變更。 不過,精靈不會對輸入檔中的值進行任何變更。
注意
如果您想要讓部署精靈修改輸入值,請在命令提示字元執行精靈,並將精靈設定為以響應檔案模式執行。
檢閱輸入值並進行任何想要的變更之後,精靈會產生部署腳本。 您可以在目的地伺服器上立即執行此部署腳本,或儲存腳本以供稍後使用。
以互動方式執行 Analysis Services 部署精靈
按兩下 [[開始],然後輸入 Analysis Services 部署精靈。
-或-
在 SQL Server Analysis Services 專案的 [Projects] 資料夾中,按兩下 <項目名稱>.asdatabase 檔案。
注意
如果您找不到 .asdatabase 檔案,請嘗試使用搜尋並指定 *.asdatabase。 或者,您可能需要在 SSDT 中建置專案。
在命令提示字元中執行
您也可以在命令提示字元中執行部署精靈。 在命令提示字元執行時,您會提供 .asdatabase 檔案的完整路徑,並在下列其中一種模式中執行精靈:
回應檔案模式
在回應檔案模式中,精靈可讓您以互動方式修改在 SQL Server Data Tools 中建置 SQL Server Analysis Services 專案時產生的輸入檔。 精靈會在產生部署腳本之前儲存這些修改過的輸入檔。 修改過的輸入檔會在下次執行精靈時成為新的起點。
若要在回應檔案模式中執行精靈,請使用 /a 參數。
無訊息模式
在無訊息模式中,精靈會根據輸入檔中常駐的信息執行無訊息、自動部署。
若要以無訊息模式執行精靈,請使用 /s 參數。 當您以無訊息模式執行精靈時,如果提供訊息,訊息會輸出至主控台或記錄檔。
輸出模式
在輸出模式中,精靈會根據輸入檔產生部署腳本以供稍後執行。
若要在輸出模式中執行精靈,請使用 /o 參數並提供輸出檔名。
如需這些命令行參數的詳細資訊,請參閱使用部署公用程式部署模型解決方案
在命令提示字元中執行 Analysis Services 部署精靈
如果使用 SSMS 18.x 安裝,請開啟命令提示字元並流覽至預設路徑 C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE。
輸入 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 | 包含環境特定設定,例如數據源連接資訊和物件儲存位置。 此檔案中的設定會覆寫 <項目名稱>.asdatabase 檔案中的設定。 |
< .deploymentoptions>項目名稱 | 包含部署選項,例如部署是否為交易式,以及部署后是否應該處理已部署的物件。 |
SQL Server Data Tools 永遠不會將密碼儲存在項目檔中。
修改輸入檔
修改輸入檔中的值,或從輸入檔擷取的值,可讓您變更部署目的地、組態設定和部署選項,而不需編輯整個 <專案名稱>.asdatabase 檔案(或如果您從現有的 SQL Server Analysis Services 資料庫產生腳本,則為整個腳本檔案)。 能夠修改個別檔案可讓您輕鬆地為不同的用途建立不同的部署腳本。
部署文稿檔案 - 指定安裝目標
部署精靈會從 <項目名稱>.deploymenttargets 檔案讀取安裝目標資訊。 當您建置專案時,SQL Server Data Tools 會建立此檔案。 SQL Server Data Tools 會使用 [
修改安裝目標
在某些情況下,您可能需要將專案部署到與 [部署] 頁面上指定的資料庫或實例不同。 例如,您可能想要將專案部署至伺服器,以在部署之前進行測試,然後在測試完成後將其部署至生產伺服器。 您也可以將已完成且測試的專案部署到網路負載平衡叢集中的多個生產伺服器,或部署到預備伺服器和生產伺服器。
若要將專案部署到不同的資料庫或實例,請使用下列程式中所述的其中一種方法,變更輸入檔中的安裝目標:
在產生輸入檔之後變更安裝目標
以互動方式執行 SQL Server Analysis Services 部署精靈。 在 [安裝目標] 頁面上,指定 SQL Server Analysis Services 實例和資料庫的新目的地。
-或-
在命令提示字元執行 SQL Server Analysis Services 部署精靈,並將精靈設定為以回應檔案模式執行。
-或-
使用任何文本編輯器修改 <項目名稱>.deploymenttargets 檔案。
部署文稿檔案 - 資料分割和角色部署選項
[部署精靈] 會從 <專案名稱>.deploymentoptions 檔案讀取數據分割和角色部署選項。 當您建置專案時,SQL Server Data Tools 會建立此檔案。 當建立 <項目名稱>.deploymentoptions 檔案時,SQL Server Data Tools 接著會使用目前專案的分割區和角色部署選項。
檢閱分割區和角色部署選項
< 項目名稱中的部署選項>.deploymentoptions 檔案包含下列專案:
數據分割部署選項
<
項目名稱>.deploymentoptions 檔案會指定目的地資料庫中的現有分割區是否保留或覆寫 (預設值)。 如果保留現有的分割區,則只會部署新的分割區,而且所有現有量值群組上的分割區和匯總設計都會保持不變。
如果刪除資料分割所在的量值群組,則會自動刪除數據分割。
角色部署選項
<
項目名稱>.deploymentoptions 檔案指定下列其中一個角色部署選項:
目的地資料庫中的現有角色和角色成員會保留,而且只會部署新的角色和角色成員。
目的地資料庫中的所有現有角色和成員都會由所部署的角色和成員取代。
目的地資料庫中的現有角色和角色成員會保留,而且不會部署任何新的角色。
保留現有的角色和成員時,與這些角色相關聯的許可權會重設為無。 安全性許可權是由它們所保護的物件所包含,而不是由與其相關聯的安全性角色所包含。 如需如何使用 Analysis Service 部署精靈處理此行為的詳細資訊,請參閱Microsoft知識庫中的。
修改分割區和角色部署選項
您可能必須使用與儲存在 <項目名稱>.deploymentoptions 檔案中儲存的不同分割區和角色選項來部署專案。 例如,您可能想要保留現有的分割區、角色和角色成員,而不是取代所有現有的分割區、角色和成員,如 <項目名稱>.deploymentoptions 檔案中所述。
若要修改專案中數據分割和角色的部署,您無法變更專案中的分割區和角色設定,因為 SQL Server Data Tools 中的 [<項目名稱]>[屬性頁面] 對話框不會顯示這些選項。 如果您想要變更角色和分割區的部署選項,您必須在 <專案名稱內變更此資訊,>.deploymentoptions 檔案本身。 下列程序說明如何在 .deploymentoptions 檔案
若要在產生輸入檔案之後變更分割區或角色的部署
以互動方式執行 [部署精靈],然後在 [數據分割和角色部署選項] 頁面上,指定分割區和角色的新部署選項。
-或-
在命令提示字元執行部署精靈,並將精靈設定為以響應檔案模式執行。
-或-
在任何文本編輯器中開啟 <專案名稱>.deploymentoptions,然後手動變更選項。 PartitionDeployment 的選項為 DeployPartitions、RetainPartitions。 RoleDeployment 的選項包括 DeployRolesAndMembers、DeployRolesRetainMembers、RetainRoles。
部署腳本檔案 - 解決方案部署組態設定
[部署精靈] 會從 <專案名稱>.configsettings 檔案,讀取您在部署腳本中使用的分割區和角色部署選項。 針對多維度專案,SQL Server Data Tools 會在建置專案時建立此檔案。 針對表格式項目,視版本而定,可能需要以回應模式執行部署精靈來產生 .configsettings 檔案。 SQL Server Data Tools 會使用目前專案的組態設定來建立 <項目名稱>.configsettings 檔案。
檢閱組態設定
以下是儲存在 .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 中定義之每個報表動作的報表伺服器和資料夾位置。
修改組態設定
在某些情況下,您可能需要使用不同於儲存在 .configsettings 檔案 <專案>名稱中的組態設定來部署專案。 例如,您可能想要將連接字串變更為一或多個數據源,或指定特定分割區或量值群組的儲存位置。
若要修改專案中數據分割和角色的部署,您必須在 <項目名稱>.configsettings 檔案中變更此資訊,如下列程式所述。 您無法變更專案內的分割區和角色設定,因為 SQL Server Data Tools 中的 [<項目名稱>屬性頁] 對話框不會顯示這些選項。
注意
組態設定可以套用至所有物件,或只套用至新建立的物件。 只有在您將其他物件部署到先前部署的 SQL Server Analysis Services 資料庫,且不想覆寫現有的物件時,才將組態設定套用至新建立的物件。 若要指定組態設定套用至所有物件,或只套用至新建立的物件,請在 <項目名稱>.deploymentoptions 檔案中設定此選項。
在產生輸入檔案之後變更組態設定
以互動方式執行 [部署精靈],然後在 [組態設定] 頁面上,指定所部署物件的組態設定。
-或-
在命令提示字元執行部署精靈,並將精靈設定為以響應檔案模式執行。
-或-
使用任何文本編輯器修改 <項目名稱>.configsettings 檔案。
部署文稿檔案 - 處理選項
[部署精靈] 會從 .deploymentoptions 檔案
檢閱處理選項
儲存在 <項目名稱中的組態設定,>.deploymentoptions 檔案如下:
處理方法 - 此設定可控制部署的物件是否在部署後處理,以及將要執行的處理類型。 有三個處理選項:
默認處理 (預設值) 會偵測資料庫對象的進程狀態,並執行必要的處理,以將未處理或部分處理的對象傳遞至完整處理的狀態。
完整處理會處理物件及其包含的所有物件。 針對已經處理的物件執行 Process Full 時,Analysis Services 會卸除物件中的所有數據,然後處理物件。
無表示不會執行任何處理。
回寫數據表選項 - 如果專案中已啟用回寫,此設定會定義回寫的處理方式。 有三個回寫數據表選項:
根據預設,如果回寫數據表存在,則會使用它。 如果回寫數據表不存在,將會建立新的回寫數據表。
如果回寫數據表已經存在,部署就會失敗。 如果回寫數據表不存在,將會建立新的回寫數據表。
不論回寫數據表是否已經存在,都會建立新的回寫數據表。 在此情況下,部署精靈將會刪除任何現有的數據表,並將它取代為新的回寫數據表。
交易式部署 - 此設定可控制元數據變更和進程命令的部署是否發生在單一交易或個別交易中。
如果此選項 True (預設值),SQL Server Analysis Services 會在單一交易內部署所有元數據變更和所有進程命令。
如果此選項 False,SQL Server Analysis Services 會在單一交易中部署元數據變更,並在自己的交易中部署每個處理命令。
修改處理選項
不過,您可能需要使用與儲存在 .deploymentoptions 檔案 <項目名稱>不同的處理選項來部署專案。 例如,您可能想要讓所有物件全部完整處理,或使用預設處理選項進行處理,或沒有任何處理。 如果 Cube 或維度已啟用寫入功能,您可以指定是否要使用新的或現有的回寫資料表。
若要修改部署期間所使用的處理選項,您可以編輯和重建專案,或使用下列程式中所述的其中一種方法來變更輸入檔中的處理選項。
在產生輸入檔案之後變更處理選項
以互動方式執行部署精靈。 在 [處理選項] 頁面上,指定所部署專案的處理選項。
-或-
在命令提示字元執行部署精靈,並將精靈設定為以響應檔案模式執行。
-或-
使用任何文本編輯器,
.deploymentoptions 檔案修改 項目名稱。
另請參閱
使用 XMLA 部署模型解決方案
使用部署公用程式