在 XML for Analysis 中,有三个命令用于备份、还原和同步数据库:
备份命令使用 Analysis Services 备份文件(.abf)备份Microsoft SQL Server Analysis Services 数据库,如“备份数据库”部分所述。
“同步”命令将一个 Analysis Services 数据库与另一个数据库的数据和元数据同步,如“同步数据库”部分所述。
备份数据库
如前所述,该 Backup
命令将指定的 Analysis Services 数据库备份到备份文件。 该 Backup
命令具有各种属性,可用于指定要备份的数据库、要使用的备份文件、如何备份安全定义以及要备份的远程分区。
重要
Analysis Services 服务帐户必须有权写入为每个文件指定的备份位置。 此外,用户必须具有下列角色之一:Analysis Services 实例上的管理员角色,或者对要备份的数据库具有完全控制(管理员)权限的数据库角色的成员。
指定数据库和备份文件
若要指定要备份的数据库,请设置命令的 Backup
Object 属性。 该 Object
属性必须包含数据库的对象标识符,否则会发生错误。
若要指定要由备份进程创建和使用的文件,请设置命令的 Backup
File 属性。 该 File
属性应设置为要创建的备份文件的 UNC 路径和文件名。
除了指定要用于备份的文件外,还可以为指定的备份文件设置以下选项:
如果将 AllowOverwrite 属性设置为 true,则
Backup
命令将覆盖备份文件(如果指定的文件已存在)。 如果将属性设置为AllowOverwrite
false,则当指定的备份文件已存在时,将发生错误。如果将 ApplyCompression 属性设置为 true,则会在创建文件后压缩备份文件。
如果将 Password 属性设置为任何非空值,则备份文件将使用指定的密码进行加密。
重要
如果未
ApplyCompression
指定属性Password
,备份文件会以明文形式存储连接字符串中包含的用户名和密码。 可以检索以明文形式存储的数据。 为了提高安全性,请使用ApplyCompression
和Password
设置来压缩和加密备份文件。
备份安全设置
Security 属性确定命令是否Backup
备份对 Analysis Services 数据库定义的安全定义,例如角色和权限。 该 Security
属性还确定备份文件是否包含定义为安全定义的成员的 Windows 用户帐户和组。
该属性的值 Security
限制为下表中列出的字符串之一。
价值 | DESCRIPTION |
---|---|
SkipMembership | 在备份文件中包括安全定义,但不包括成员身份信息。 |
CopyAll | 在备份文件中包括安全定义和成员身份信息。 |
IgnoreSecurity | 从备份文件中排除安全定义。 |
备份远程分区
若要备份 Analysis Services 数据库中的远程分区,请将命令的 Backup
BackupRemotePartitions 属性设置为 true。 此设置使 Backup
命令为用于存储数据库远程分区的每个远程数据源创建远程备份文件。
对于要备份的每个远程数据源,可以通过在命令的 Backup
Locations 属性中包含 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 用户帐户和组,这些帐户和组定义为安全定义的成员作为还原过程的一部分。
此元素的值限制为下表中列出的字符串之一。
价值 | DESCRIPTION |
---|---|
SkipMembership | 在数据库中包括安全定义,但不包括成员身份信息。 |
CopyAll | 在数据库中包括安全定义和成员身份信息。 |
IgnoreSecurity | 从数据库中排除安全定义。 |
还原远程分区
对于在上Backup
一个命令中创建的每个远程备份文件,可以通过在命令的属性Restore
中包含Locations
一个Location
元素来还原其关联的远程分区。 必须排除或显式设置为 Remote 的每个元素的 Location
DataSourceType 属性。
对于每个指定的 Location
元素,Analysis Services 实例将联系属性中指定的 DataSourceID
远程数据源,以还原属性中指定的 File
远程备份文件中定义的分区。 除了属性 DataSourceID
和 File
属性,还可用于用于还原远程分区的每个 Location
元素:
若要替代指定
DataSourceID
远程数据源的Location
连接字符串,可以将元素的属性设置为ConnectionString
其他连接字符串。 然后,该Restore
命令将使用属性中包含的ConnectionString
连接字符串。 如果未ConnectionString
指定,该Restore
命令将使用存储在备份文件中的连接字符串作为指定的远程数据源。 可以使用此设置ConnectionString
将远程分区移动到其他远程实例。 但是,不能使用ConnectionString
此设置将远程分区还原到包含已还原数据库的同一实例。 换句话说,不能使用ConnectionString
属性将远程分区设置为本地分区。对于用于将远程分区存储在远程数据源上的每个原始文件夹,可以指定 一个 Folder 元素来指示用于还原原始文件夹中存储的所有远程分区的新文件夹。
Folder
如果未指定元素,该Restore
命令将使用为远程备份文件中包含的远程分区指定的原始文件夹。
重新定位 ROLAP 对象
该 Restore
命令无法还原使用 ROLAP 存储的对象聚合或数据,因为这些信息存储在基础关系数据源上的表中。 但是,可以还原 ROLAP 对象的元数据。 若要还原 ROLAP 对象的元数据, Restore
该命令会在关系数据源上重新创建表结构。
可以使用 Location
命令中的 Restore
元素重新定位 ROLAP 对象。 对于用于重定位数据源的每个 Location
元素, DataSourceType
属性必须显式设置为 Local。 还必须将 ConnectionString
元素的属性 Location
设置为新位置的连接字符串。 在还原期间,Restore
该命令会将由元素的属性标识DataSourceID
的Location
数据源的连接字符串替换为元素的属性Location
的值ConnectionString
。
同步数据库
该命令将 Synchronize
指定 Analysis Services 数据库的数据和元数据与其他数据库同步。 该 Synchronize
命令具有各种属性,可用于指定源数据库、如何同步安全定义、要同步的远程分区以及 ROLAP 对象的同步。
注释
命令 Synchronize
只能由服务器管理员和数据库管理员执行。 源数据库和目标数据库必须具有相同的数据库兼容性级别。
指定源数据库
命令的 Synchronize
Source 属性包含两个属性,ConnectionString
以及 Object
。 该 ConnectionString
属性包含包含源数据库的实例的连接字符串,该 Object
属性包含源数据库的对象标识符。
目标数据库是运行命令的会话的 Synchronize
当前数据库。
ApplyCompression
如果命令的属性Synchronize
设置为 true,则会在发送之前压缩从源数据库发送到目标数据库的信息。
同步安全设置
SynchronizeSecurity 属性确定命令是否Synchronize
同步对源数据库定义的安全定义,例如角色和权限。 该 SynchronizeSecurity
属性还确定命令是否 Sychronize
包括定义为安全定义的成员的 Windows 用户帐户和组。
此元素的值限制为下表中列出的字符串之一。
价值 | DESCRIPTION |
---|---|
SkipMembership | 在目标数据库中包括安全定义,但不包括成员身份信息。 |
CopyAll | 在目标数据库中包括安全定义和成员身份信息。 |
IgnoreSecurity | 从目标数据库中排除安全定义。 |
同步远程分区
对于源数据库上存在的每个远程数据源,可以通过在命令的属性Synchronize
中包含Locations
一个Location
元素来同步每个关联的远程分区。 对于每个 Location
元素, DataSourceType
属性必须排除或显式设置为 Remote。
若要定义并连接到目标数据库中的远程数据源,Synchronize
该命令使用在元素的属性Location
中ConnectionString
定义的连接字符串。 然后,该 Synchronize
命令使用 DataSourceID
元素的属性 Location
来标识要同步的远程分区。 该命令将 Synchronize
源数据库属性中指定的 DataSourceID
远程数据源上的远程分区与目标数据库的属性中指定的 DataSourceID
远程数据源同步。
对于用于在源数据库上的远程数据源上存储远程分区的每个原始文件夹,还可以在元素中Location
指定元素Folder
。 该 Folder
元素指示目标数据库的新文件夹,用于同步远程数据源上原始文件夹中存储的所有远程分区。
Folder
如果未指定元素,则 Synchronize 命令使用为源数据库中包含的远程分区指定的原始文件夹。
同步 ROLAP 对象
该 Synchronize
命令无法同步使用 ROLAP 存储的对象聚合或数据,因为这些信息存储在基础关系数据源上的表中。 但是,可以同步 ROLAP 对象的元数据。 若要同步元数据, Synchronize
该命令会在关系数据源上重新创建表结构。
可以使用 Location
Synchronize 命令中的元素来同步 ROLAP 对象。 对于用于重定位数据源的每个 Location
元素, DataSourceType
属性必须显式设置为 Local。 . 还必须将 ConnectionString
元素的属性 Location
设置为新位置的连接字符串。 在同步期间,该Synchronize
命令会将由元素的属性标识DataSourceID
的数据源的Location
连接字符串替换为元素的属性Location
的值ConnectionString
。
另请参阅
备份元素 (XMLA)
还原元素(XMLA)
Synchronize 元素(XMLA)
Analysis Services 数据库的备份和还原