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

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

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

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

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

備份資料庫

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

重要

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

指定資料庫與備份檔案

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

若要指定備份程式所要建立及使用的檔案,您可以設定Backup命令的File屬性。 File屬性應該設定為 UNC 路徑和檔案名,以便建立備份檔案。

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

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

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

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

    重要

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

備份安全性設定

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

Security屬性的值僅限於下表所列的其中一個字串。

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

備份遠端資料分割

若要備份SQL Server Analysis Services資料庫中的遠端分割區,請將 Backup 命令的BackupRemotePartitions屬性設定為 true。 此設定會讓 Backup 命令為每個用來儲存資料庫遠端資料分割的遠端資料源建立遠端備份檔案。

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

還原資料庫

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

重要

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

注意

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

指定資料庫與備份檔案

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

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

還原安全性設定

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

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

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

還原遠端資料分割

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

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

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

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

重新放置 ROLAP 物件

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

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

同步處理資料庫

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

注意

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

指定來源資料庫

Synchronize命令的Source屬性包含兩個屬性ConnectionStringObjectConnectionString屬性包含包含源資料庫的實例連接字串,而Object屬性則包含源資料庫的物件識別碼。

目的地資料庫是 同步 處理命令執行所在會話的目前資料庫。

如果Synchronize命令的ApplyCompression屬性設定為 true,則會先壓縮從源資料庫傳送至目的地資料庫的資訊,再傳送。

同步處理安全性設定

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

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

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

同步處理遠端資料分割

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

若要定義並連接到目的地資料庫中的遠端資料源,Synchronize命令會使用Location元素的ConnectionString屬性中定義的連接字串。 [同步處理] 命令接著會使用Location元素的DataSourceID屬性來識別要同步處理的遠端資料分割。 Synchronize命令會將源資料庫之DataSourceID屬性中指定的遠端資料源上的遠端資料分割與目的地資料庫的DataSourceID屬性中指定的遠端資料源同步處理。

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

同步處理 ROLAP 物件

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

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

另請參閱

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