同步分析服务数据库

Analysis Services 包含一项数据库同步功能,通过将源服务器上的数据和元数据复制到目标服务器上的数据库,使两个 Analysis Services 数据库等效。 使用“同步数据库”功能完成以下任一任务:

  • 将数据库从过渡服务器部署到生产服务器。

  • 使用对临时服务器上的数据库中数据和元数据所做的更改更新生产服务器上的数据库。

  • 生成可在将来运行以同步数据库的 XMLA 脚本。

  • 在多台服务器上处理多维数据集和维度的分布式工作负荷中,使用数据库同步将更改合并到单个数据库中。

数据库同步在目标服务器上启动,将数据和元数据拉取到源服务器上的数据库副本。 如果数据库不存在,将创建该数据库。 同步是一种单向的一次性作,在复制数据库后结束。 它不提供数据库之间的实时同步。

可以重新同步源服务器和目标服务器上已存在的数据库,以将暂存服务器的最新更改提取到生产数据库。 两台服务器上的文件将被比较以检查更改,并更新那些不同的文件。 在后台进行同步时,目标服务器上的现有数据库仍可用。 同步正在进行时,用户可以继续查询目标数据库。 同步完成后,Analysis Services 会自动将用户切换到新复制的数据和元数据,并从目标数据库中删除旧数据。

若要同步数据库,请运行同步数据库向导以立即同步数据库,或使用它生成稍后可以运行的同步脚本。 这两种方法都可用于提高 Analysis Services 数据库和多维数据集的可用性和可伸缩性。

注释

为以前版本的 Analysis Services 编写的以下白皮书仍适用于使用 SQL Server 2012 生成的可缩放多维解决方案。 有关详细信息,请参阅 Scale-Out 使用 Analysis Services 进行查询 ,Scale-Out 使用 Read-Only 数据库查询 Analysis Services

先决条件

在发起数据库同步的目标服务器上,你必须是 Analysis Services 服务器管理员角色。 在源服务器上,Windows 用户帐户必须对源数据库拥有完全控制权限。 如果要以交互方式同步数据库,请记住,同步在 Windows 用户标识的安全上下文下运行。 如果帐户被拒绝访问特定对象,这些对象将被排除在作之外。 有关服务器管理员角色和数据库权限的详细信息,请参阅“授予服务器管理员权限”(Analysis Services)“授予数据库权限”(Analysis Services)。

必须在两台服务器上打开 TCP 端口 2383,以允许默认实例之间的远程连接。 有关在 Windows 防火墙中创建异常的详细信息,请参阅 配置 Windows 防火墙以允许 Analysis Services 访问

源服务器和目标服务器都必须是相同的版本和服务包。 由于模型元数据也是同步的,因此为了确保这两个服务器的生成号的兼容性应相同。 每个安装的版本必须支持数据库同步。 在 SQL Server 2014 中,企业版、开发人员版和商业智能版支持数据库同步。 有关每个版本中的功能的详细信息,请参阅 SQL Server 2014 各版本支持的功能

服务器部署模式在每个服务器上必须相同。 如果要同步的数据库是多维的,则必须为多维服务器模式配置源服务器和目标服务器。 有关部署模式的详细信息,请参阅 “确定 Analysis Services 实例的服务器模式”。

如果在源服务器上使用它,请关闭延迟聚合处理。 在后台处理的聚合可能会干扰数据库同步。 有关设置此服务器属性的详细信息,请参阅 OLAP 属性

注释

数据库大小是确定同步是否适合的方法的一个因素。 没有硬性要求,但如果同步速度太慢,请考虑并行同步多个服务器,如本技术白皮书: Analysis Services 同步最佳做法中所述。

同步数据库向导

使用同步数据库向导执行从源到目标数据库的单向同步,或生成指定数据库同步作的脚本。 可以在同步过程中同步本地分区和远程分区,并选择是否包括角色。

同步数据库向导将指导你完成以下步骤:

  • 选择要从中同步的源实例和数据库。

  • 为目标实例上的本地分区选择存储位置。

  • 为其他目标实例上的远程分区选择存储位置。

  • 选择要从源实例和数据库复制到目标实例的安全和成员身份信息级别。

  • 选择是立即同步还是将同步数据库向导生成的 XML for Analysis (XMLA) 同步 命令保存到脚本文件以供以后同步。

默认情况下,向导将同步除现有安全组成员身份以外的所有数据和元数据。 还可以在同步数据和元数据时复制所有安全设置或忽略所有安全设置。

运行向导

  1. 在 SQL Server Management Studio 中,连接到将运行目标数据库的 Analysis Services 实例。 例如,如果要将数据库部署到生产服务器,则会在生产服务器上运行向导。

  2. 在对象资源管理器中,右键单击 “数据库” 文件夹,然后单击“ 同步”。

  3. 指定源服务器和源数据库。 在“选择要同步的数据库”页的 “源服务器 ”和 “源数据库”中,键入源服务器和源数据库的名称。 例如,如果要从测试环境部署到生产服务器,则源是过渡服务器上的数据库。

    目标服务器 显示与 源数据库 中所选数据库的数据和元数据同步的 Analysis Services 实例名称。

    对于具有相同名称的源数据库和目标数据库,将发生同步。 如果目标服务器已有与源数据库共享同名的数据库,则目标数据库将使用源的元数据和数据进行更新。 如果数据库不存在,则会在目标服务器上创建该数据库。

  4. (可选)更改本地分区的位置。 使用 “本地分区的指定位置” 页指示应将本地分区存储在目标服务器上的位置。

    注释

    仅当指定数据库中至少有一个本地分区存在时,才会显示此页面。

    如果在源服务器的驱动器 C 上安装一组分区,向导允许将这组分区复制到目标服务器上的其他位置。 如果不更改默认位置,向导会将源服务器上的每个多维数据集中的度量组分区部署到目标服务器上相应的位置。 同样,如果源服务器使用远程分区,则目标服务器上将使用相同的远程分区。

    位置” 选项显示一个网格,其中列出了要存储在目标实例上的本地分区的源文件夹、目标文件夹和估计大小。 网格包含以下这些列:

    源文件夹
    显示包含本地分区的源 Analysis Services 实例上的文件夹名称。 如果列包含值“(Default)”,则源实例的默认位置包含本地分区。

    目标文件夹
    显示要同步本地分区的目标 Analysis Services 实例上的文件夹名称。 如果列包含值“(Default)”,则目标实例的默认位置包含本地分区。

    单击省略号(...)按钮可显示“ 浏览远程文件夹 ”对话框,并在目标实例上指定一个文件夹,其中应同步存储在所选位置的本地分区。

    注释

    对于存储在源实例的默认位置的本地分区,无法更改此列。

    大小
    显示本地分区的估计大小。

    所选位置中的分区选项显示一个网格,该网格描述在位置中所选行的“源文件夹”列中指定的源 Analysis Services 实例上存储的本地分区。

    立方体
    显示包含分区的多维数据集的名称。

    度量值组
    显示包含分区的多维数据集中的度量值组的名称。

    分区名称
    显示分区的名称。

    Size(Mb)
    显示分区的大小(MB)。

  5. (可选)更改远程分区的位置。使用“ 指定远程分区的位置 ”页可指示是否应同步源服务器上的指定数据库管理的远程分区,并指定应在其中存储所选远程分区的目标 Analysis Services 实例和数据库。

    注释

    仅当源 Analysis Services 实例上的指定数据库管理至少一个远程分区时,才会显示此页面。

    位置” 选项显示一个网格,其中列出了存储源数据库远程分区的位置的详细信息,包括源和目标信息以及所选数据库中每个位置使用的存储大小。 网格包含以下这些列:

    同步
    选择一个包含远程分区的位置进行同步。

    注释

    如果未为某个位置选择此选项,则不会同步该位置中包含的远程分区。

    源服务器
    显示包含远程分区的 Analysis Services 实例的名称。

    源文件夹
    显示包含远程分区的 Analysis Services 实例上的文件夹名称。 如果列包含值“(Default)”, 则源服务器 中显示的实例的默认位置包含远程分区。

    目标服务器
    显示应同步 源服务器源文件夹 中指定的位置中存储的远程分区的 Analysis Services 实例的名称。

    单击省略号(...)按钮可显示 “连接管理器 ”对话框,并指定应同步存储在所选位置中的远程分区的 Analysis Services 实例。

    目标文件夹
    显示要同步远程分区的目标 Analysis Services 实例上的文件夹名称。 如果列包含值“(Default)”,则目标实例的默认位置应包含远程分区。

    单击省略号(...)按钮以显示 “浏览远程文件夹 ”对话框,并在目标实例上指定一个文件夹,该文件夹应同步存储在所选位置中的远程分区。

    大小
    显示存储在位置中的远程分区的估计大小。

    所选位置中的分区显示一个网格,该网格描述在位置中存储的远程分区,这些分区位于所选行的源文件夹列中指定的源 Analysis Services 实例上。 网格包含以下这些列:

    立方体
    显示包含分区的多维数据集的名称。

    度量值组
    显示包含分区的多维数据集中的度量值组的名称。

    分区名称
    显示分区的名称。

    Size(Mb)
    显示分区的大小(MB)。

  6. 指定是否应包含用户权限信息,以及是否应使用压缩。 默认情况下,向导先压缩所有数据和元数据,然后再将文件复制到目标服务器。 此选项会导致文件传输速度更快。 文件到达目标服务器后,文件将被解压缩。

    全部复制
    选择在同步期间包含安全定义和成员信息。

    跳过会员资格
    选择在同步期间包含安全定义,但排除成员身份信息。

    全部忽略
    选择以忽略源数据库中当前的安全定义和成员身份信息。 如果在同步期间创建了目标数据库,则不会复制任何安全定义或成员身份信息。 如果目标数据库已存在并且具有角色和成员身份,则会保留该安全信息。

  7. 选择同步方法。 可以立即同步或生成保存到文件的脚本。 默认情况下,该文件以 .xmla 扩展名保存,并放置在 Documents 文件夹中。

  8. 单击“ 完成 ”进行同步。 验证“ 完成向导 ”页上的选项后,再次单击“ 完成 ”。

后续步骤

如果未同步角色或成员身份,请记得现在在目标数据库上指定用户访问权限。

另请参阅

Synchronize 元素(XMLA)
使用 XMLA 部署模型解决方案
使用部署向导部署模型解决方案