共用方式為


備份、還原和同步處理資料庫 (XMLA)

在 XML for Analysis 中,有三個命令分別可用來備份、還原和同步處理資料庫:

  • 備份命令會使用 Analysis Services 備份檔案 (.abf) 備份 Microsoft SQL Server Analysis Services資料庫,如備份資料庫一節所述。

  • Restore命令會從 .abf 檔案還原 Analysis Services 資料庫,如還原資料庫一節中所述。

  • Synchronize命令會將一個 Analysis Services 資料庫與另一個資料庫的資料和元資料同步處理,如同步處理資料庫一節所述。

備份資料庫

如先前所述, Backup 命令會將指定的 Analysis Services 資料庫備份至備份檔案。 Backup 命令具有各種屬性,可讓您指定要備份的資料庫、要使用的備份檔案、如何備份安全性定義以及要備份的遠端資料分割。

重要

Analysis Services 服務帳戶必須擁有針對每個檔案所指定之備份位置的寫入權限。 此外,使用者必須具備下列其中一個角色:Analysis Services 實例上的系統管理員角色,或具有完整控制 (管理員的資料庫角色成員,) 要備份之資料庫的許可權。

指定資料庫與備份檔案

若要指定要備份的資料庫,您可以設定 命令的 BackupObject屬性。 Object 屬性必須包含資料庫的物件識別碼,否則就會發生錯誤。

若要指定備份程式所要建立及使用的檔案,您可以設定 命令的 BackupFile屬性。 File 屬性應該設定成要建立的備份檔案之 UNC 路徑與檔案名稱。

除了指定用於備份的檔案之外,還可以為指定的備份檔案設定下列選項:

  • 如果您將 AllowOverwrite 屬性設定為 true, Backup 則命令會在指定的檔案已經存在時覆寫備份檔案。 如果將 AllowOverwrite 屬性設定為 False,而指定的備份檔案已經存在時,就會發生錯誤。

  • 如果您將 ApplyCompression 屬性設定為 true,則會在建立檔案之後壓縮備份檔案。

  • 如果您將 Password 屬性設定為任何非空白值,則備份檔案會使用指定的密碼來加密。

    重要

    如果未指定 ApplyCompressionPassword 屬性,備份檔案會以純文字儲存包含在連接字串中的使用者名稱與密碼。 以純文字儲存的資料可能會被擷取。 為了提高安全性,請使用 ApplyCompressionPassword 設定來壓縮和加密備份檔案。

備份安全性設定

Security屬性會決定命令是否 Backup 備份 Analysis Services 資料庫上定義的安全性定義,例如角色和許可權。 Security 屬性也會決定備份檔案是否包含定義為安全性定義成員的 Windows 使用者帳戶與群組。

Security 屬性值只能是下表所列的其中一個字串。

描述
SkipMembership 在備份檔案中納入安全性定義,但是排除成員資格資訊。
CopyAll 在備份檔案中納入安全性定義與成員資格資訊。
IgnoreSecurity 從備份檔案排除安全性定義。

備份遠端資料分割

若要備份 Analysis Services 資料庫中的遠端資料分割,請將命令的 BackupBackupRemotePartitions屬性設定為 true。 這個設定會造成 Backup 命令為每個遠端資料來源建立一個遠端備份檔案,用來儲存資料庫的遠端資料分割。

若要備份每個遠端資料源,您可以指定其對應的備份檔案,方法是在命令的 BackupLocations屬性中包含Location元素。 專案 Location 應該將其 File 屬性設定為遠端備份檔案的 UNC 路徑和檔案名,而其 DataSourceID 屬性應設定為資料庫中定義的遠端資料源識別碼。

還原資料庫

命令 Restore 會從備份檔案還原指定的 Analysis Services 資料庫。 Restore 命令具有各種屬性,可讓您指定要還原的資料庫、要使用的備份檔案、如何還原安全性定義、要儲存的遠端資料分割以及重新放置關聯式 OLAP (ROLAP) 物件。

重要

對於每個備份檔案,執行還原命令的使用者必須擁有從針對每個檔案所指定之備份位置讀取的權限。 若要還原伺服器上未安裝的 Analysis Services 資料庫,使用者也必須是該 Analysis Services 實例的伺服器角色成員。 若要覆寫 Analysis Services 資料庫,使用者必須具有下列其中一個角色:Analysis Services 實例的伺服器角色成員,或是具有要還原之資料庫之完整控制 (系統管理員) 許可權的資料庫角色成員。

注意

還原現有的資料庫之後,還原資料庫的使用者可能會喪失已還原資料庫的存取權。 如果在執行備份時,使用者不是伺服器角色的成員,也不是擁有完整控制權 (管理員) 權限的資料庫角色成員,就可能會發生存取權喪失的情況。

指定資料庫與備份檔案

DatabaseName 命令的 Restore 屬性必須包含資料庫的物件識別碼,否則就會發生錯誤。 如果指定的資料庫已經存在,AllowOverwrite 屬性會決定是否覆寫現有的資料庫。 如果將 AllowOverwrite 屬性設定為 False,而指定的資料庫已經存在時,就會發生錯誤。

您應該將 File 命令的 Restore 屬性設定成要還原至指定資料庫的備份檔案之 UNC 路徑與檔案名稱。 您也可以為指定的備份檔案設定 Password 屬性。 如果將 Password 屬性設定為任何非空白值,就會使用指定的密碼來解密備份檔案。 如果備份檔案未加密,或者如果指定的密碼不符合用以加密備份檔案的密碼,就會發生錯誤。

還原安全性設定

屬性 Security 會決定命令是否會 Restore 還原 Analysis Services 資料庫上定義的安全性定義,例如角色和許可權。 Security 屬性也會決定 Restore 命令是否會將定義為安全性定義成員的 Windows 使用者帳戶和群組包含在還原程序中。

這個元素的值限制為下表所列的其中一個字串。

描述
SkipMembership 在資料庫中納入安全性定義,但是排除成員資格資訊。
CopyAll 在資料庫中納入安全性定義與成員資格資訊。
IgnoreSecurity 從資料庫排除安全性定義。

還原遠端資料分割

對於每個在前一個 Backup 命令期間建立的遠端備份檔案,您可以在 Location 命令的 Locations 屬性中包含 Restore 元素,以還原其關聯的遠端資料分割。 每個專案的 DataSourceType 屬性 Location 都必須排除或明確設定為 Remote

針對每個指定的 Location 專案,Analysis Services 實例會連絡 屬性中指定的 DataSourceID 遠端資料源,以還原 屬性所指定 File 遠端備份檔案中所定義的分割區。 除了 DataSourceIDFile 屬性之外,每個 Location 元素都可以使用下列屬性來還原遠端資料分割:

  • 若要覆寫在 DataSourceID 中指定的遠端資料來源連接字串,您可以將 ConnectionString 元素的 Location 屬性設定成不同的連接字串。 Restore 命令接著將會使用包含在 ConnectionString 屬性中的連接字串。 如果未指定 ConnectionStringRestore 命令會為指定的遠端資料來源,使用儲存在備份檔案中的連接字串。 您可以使用 ConnectionString 設定將遠端資料分割移到不同的遠端執行個體。 不過,您無法使用 ConnectionString 設定將遠端資料分割還原至含有已還原資料庫的相同執行個體。 換句話說,您無法使用 ConnectionString 屬性將遠端資料分割變成本機資料分割。

  • 針對用來將遠端資料分割儲存在遠端資料源上的每個原始檔案夾,您可以指定 Folder 元素,以指出要在其中還原儲存在原始檔案夾中的所有遠端分割區的新資料夾。 如果未指定 Folder 元素,Restore 命令會使用為遠端備份檔案中包含的遠端資料分割所指定的原始資料夾。

重新放置 ROLAP 物件

Restore 命令無法為使用 ROLAP 儲存的物件還原彙總或是資料,因為這樣的資訊是儲存在基礎關聯式資料來源的資料表中。 不過,可以還原 ROLAP 物件的中繼資料。 若要還原 ROLAP 物件的中繼資料,Restore 命令會在關聯式資料來源上重新建立資料表結構。

您可以在 Location 命令中使用 Restore 元素,重新放置 ROLAP 物件。 對於用來重新放置資料來源的每個 Location 元素, DataSourceType 屬性必須明確設定為 Local。 另外,您也必須將 ConnectionString 元素的 Location 屬性設定為新位置的連接字串。 在還原期間,Restore 將會使用 DataSourceID 元素的 Location 屬性值,取代 ConnectionString 元素的 Location 屬性所識別的資料來源連接字串。

同步處理資料庫

Synchronize此命令會將指定 Analysis Services 資料庫的資料和中繼資料與另一個資料庫同步處理。 Synchronize 命令具有各種屬性,可讓您指定來源資料庫、如何同步處理安全性定義、要同步處理的遠端資料分割,以及 ROLAP 物件的同步處理。

注意

只有伺服器管理員與資料庫管理員可以執行 Synchronize 命令。 來源與目的地資料庫都必須具有相同的資料庫相容性層級。

指定來源資料庫

命令的 SynchronizeSource屬性包含兩個屬性和 ConnectionStringObjectConnectionString 屬性包括含有來源資料庫之執行個體的連接字串,而 Object 屬性包含來源資料庫的物件識別碼。

目的地資料庫是 Synchronize 命令執行的工作階段目前的資料庫。

如果 ApplyCompression 命令的 Synchronize 屬性是設定為 True,從來源資料庫傳送到目的地資料庫的資訊,會在傳送之前先壓縮。

同步處理安全性設定

SynchronizeSecurity屬性會決定命令是否 Synchronize 同步處理源資料庫上定義的安全性定義,例如角色和許可權。 SynchronizeSecurity 屬性也會決定 Sychronize 命令是否包含定義為安全性定義成員的 Windows 使用者帳戶與群組。

這個元素的值限制為下表所列的其中一個字串。

描述
SkipMembership 在目的地資料庫中納入安全性定義,但是排除成員資格資訊。
CopyAll 在目的地資料庫中納入安全性定義與成員資格資訊。
IgnoreSecurity 從目的地資料庫排除安全性定義。

同步處理遠端資料分割

對於每個存在於來源資料庫的遠端資料來源,您可以在 Location 命令的 Locations 屬性中包含 Synchronize 元素,以同步處理每個關聯的遠端資料分割。 對於每個 Location 元素, DataSourceType 必須排除或明確將 屬性設定為 Remote

為了定義和連接到目的地資料庫中的遠端資料來源,Synchronize 命令會使用定義在 ConnectionString 元素中 Location 屬性的連接字串。 Synchronize 命令接著會使用 DataSourceID 元素的Location 屬性,以識別要同步處理哪些遠端資料分割。 Synchronize此命令會同步處理源資料庫屬性上指定 DataSourceID 之遠端資料源上的遠端資料分割,以及目的地資料庫之 屬性中指定的 DataSourceID 遠端資料源。

對於每個用以儲存來源資料庫上遠端資料來源中之遠端資料分割的原始資料夾,您也可以指定 Folder 元素中的 Location 元素。 Folder 元素會指定目的地資料庫的新資料夾,在這個資料夾中,會同步處理儲存在遠端資料來源原始資料夾中的所有遠端資料分割。 如果未指定 Folder 元素,Synchronize 命令會使用針對來源資料庫中包含的遠端資料分割所指定的原始資料夾。

同步處理 ROLAP 物件

Synchronize 命令無法為使用 ROLAP 儲存的物件同步處理彙總或是資料,因為這樣的資訊是儲存在基礎關聯式資料來源的資料表中。 不過,可以同步處理 ROLAP 物件的中繼資料。 若要同步處理中繼資料,Synchronize 命令會在關聯式資料來源上重新建立資料表結構。

您可以在 Synchronize 命令中使用 Location 元素,同步處理 ROLAP 物件。 對於用來重新放置資料來源的每個 Location 元素, DataSourceType 屬性必須明確設定為 Local。 . 另外,您也必須將 ConnectionString 元素的 Location 屬性設定為新位置的連接字串。 在同步處理期間,Synchronize 命令將會使用 DataSourceID 元素的 Location 屬性值,取代 ConnectionString 元素的 Location 屬性所識別的資料來源連接字串。

另請參閱

Backup 元素 (XMLA)
Restore 元素 (XMLA)
Synchronize 元素 (XMLA)
備份與還原 Analysis Services 資料庫