使用部署向导部署模型解决方案

适用于: 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) 一起安装。 请确保使用的是最新版本。 如果从命令提示符运行,则默认情况下,部署向导的最新版本将安装到 C:\Program Files (x86) \Microsoft SQL Server Management Studio 18\Common7\IDE。

可以使用向导进行部署,如此处所述。 也可以实现自动部署或使用同步功能。 如果部署的数据库很大,则需要考虑在目标系统上使用分区。 可以使用表格对象模型 (TOM) 、表格模型 Scriting Language (TMSL) )和分析管理对象 (AMO) 自动执行分区创建和填充。

重要

如果在数据源或模拟目的的连接字符串中指定了用户 ID 或密码,则输出文件和部署脚本都不会包含这些用户 ID 或密码。 在此情况下,由于处理时需要用户 ID 和密码,因此必须手动添加此信息。 如果部署不包括处理,则可以在部署后根据需要添加此连接和模拟信息。 如果部署包括处理,则可以在向导中添加此信息,也可以在保存部署脚本后在脚本中添加此信息。

运行部署向导

部署向导可以通过以下方式运行:

  • 交互 - 以交互方式运行时,部署向导会根据用户输入以交互方式修改的输入文件生成部署脚本。 此向导将任何用户的更改仅应用于部署脚本。 向导不会更改输入文件。

  • 从命令提示符 - 在命令提示符下运行时,部署向导会基于用于运行向导的开关生成部署脚本。 该向导可以指导进行下面的任何一项操作:提示用户输入并基于输入更改输入文件;按原样使用输入文件以静默、无人参与模式运行部署;或创建一个以后可能使用的部署脚本。

以交互方式运行

以交互方式运行时,部署向导会从输入文件中读取值,并显示此信息。 可以修改这些输入值(例如部署目标、配置设置、部署选项和连接字符串密码),或保留原样。 如果更改任何输入值,向导将在生成部署脚本时使用这些更改。 但是,向导不会更改输入文件中的任何值。

注意

如果要让部署向导修改输入值,请在命令提示符处运行向导,并将向导设置为在应答文件模式下运行。

查看输入值并进行任何所需的更改后,向导将生成部署脚本。 可以立即在目标服务器上运行该部署脚本或者保存该脚本以备将来使用。

交互式运行 Analysis Services 部署向导

  • 单击“ 开始”,然后键入 Analysis Services 部署向导

    -或-

  • 在SQL Server Analysis Services项目的 Projects 文件夹中,双击<项目名称>.asdatabase 文件。

    注意

    如果未找到 .asdatabase 文件,则请尝试使用“搜索”功能以 *.asdatabase 形式进行搜索。 或者,可能需要在 SSDT 中生成项目。

在命令提示符下运行

还可以在命令提示符下运行部署向导。 在命令提示符下运行时,请提供 .asdatabase 文件的完整路径,并在以下模式之一中运行向导:

应答文件模式
在应答文件模式下,向导允许你以交互方式修改最初在SQL Server Analysis Services项目中生成SQL Server Data Tools时生成的输入文件。 向导在生成部署脚本之前保存这些修改后的输入文件。 这些更改过的输入文件便成为向导下次运行时的新起点。

若要在应答文件模式下运行向导,请使用 /a 开关。

静默模式
使用静默模式,向导基于输入文件中的信息以静默、无人参与的模式运行部署。

若要在静默模式下运行向导,请使用 /s 开关。 如果以静默模式运行向导,则消息将输出至控制台或日志文件(如果有)。

输出模式
在输出模式下,向导会根据输入文件生成部署脚本供以后执行。

若要在输出模式下运行向导,请使用 /o 开关并提供输出文件名。

有关这些命令行开关的详细信息,请参阅 使用部署实用工具部署模型解决方案

在命令提示符下运行 Analysis Services 部署向导

  1. 如果随 SSMS 18.x 一起安装,请打开命令提示符并导航到默认路径 C:\Program Files (x86) \Microsoft SQL Server Management Studio 18\Common7\IDE。

  2. 键入 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 包含特定于环境的设置,如数据源连接信息和对象存储位置。 此文件中的设置将替代项目 name.asdatabase >文件中的设置<。
<项目名称>。deploymentoptions 包含部署选项,例如部署是否是事务性的,以及是否在部署后处理已部署的对象。

SQL Server Data Tools从不将密码存储在项目文件中。

修改输入文件

修改输入文件中的值或从输入文件中检索的值,可以更改部署目标、配置设置和部署选项,而无需编辑整个<项目名称>.asdatabase 文件 (或整个脚本文件(如果从现有SQL Server Analysis Services数据库) 生成脚本)。 能够修改各个文件使您可以轻松地创建用于不同用途的不同部署脚本。

部署脚本文件 - 指定安装目标

部署向导从<项目 name.deploymenttargets >文件中读取安装目标信息。 生成项目时,SQL Server Data Tools会创建此文件。 SQL Server Data Tools使用项目名称>“属性页”对话框的<部署”页上指定的数据库和服务器来创建<项目名称>.targets 文件。

修改安装目标

在某些情况下,可能需要将项目部署到不同于“ 部署 ”页上指定的数据库或实例。 例如,可能要在部署之前将项目部署到用于测试的服务器,再在测试完成后将其部署到生产服务器。 此外,还可能需要将已完成且经过测试的项目部署到网络负载平衡群集中的多台生产服务器,或将其部署到临时服务器和生产服务器。

若要将项目部署到其他数据库或实例,请使用以下过程中所述的方法之一更改输入文件中的安装目标:

在生成了输入文件后更改安装目标

  • 以交互方式运行SQL Server Analysis Services部署向导。 在“安装目标”页上,指定SQL Server Analysis Services实例和数据库的新目标。

    -或-

  • 在命令提示符下运行SQL Server Analysis Services部署向导,并将向导设置为在应答文件模式下运行。

    -或-

  • <使用任何文本编辑器修改项目名称>.deploymenttargets 文件。

部署脚本文件 - 分区和角色部署选项

部署向导从<项目 name.deploymentoptions >文件中读取分区和角色部署选项。 SQL Server Data Tools生成项目时创建此文件。 创建项目 name.deploymentoptions >文件时,SQL Server Data Tools使用当前项目的<分区和角色部署选项。

查看分区和角色部署选项

项目 name.deploymentoptions >文件中的<部署选项包括:

分区部署选项
项目 < name.deploymentoptions> 文件指定是保留还是覆盖目标数据库中的现有分区 (默认) 。 如果保留现有分区,则仅部署新的分区,所有现有度量值组的分区和聚合设计均保持不变。

如果删除了分区所在的度量值组,则自动删除该分区。

角色部署选项
项目 <名称>.deploymentoptions 文件指定以下角色部署选项之一:

  • 保留目标数据库中现有的角色和角色成员,仅部署新的角色和角色成员。

  • 目标数据库中所有现有的角色和成员将被当前部署的角色和成员替换。

  • 保留目标数据库中现有的角色和角色成员,不部署任何新的角色。

保留现有角色和成员时,与这些角色关联的权限将重置为无。 安全权限包含在这些权限保护的对象中,而非包含在与这些权限关联的安全角色中。 有关如何使用 Analysis Service 部署向导处理此行为的详细信息,请参阅 Microsoft 知识库中的“保留角色和成员”。

修改分区和角色部署选项

你可能必须使用与存储在<项目 name.deploymentoptions >文件中的分区和角色选项不同的分区和角色选项来部署项目。 例如,你可能希望保留现有分区、角色和角色成员,而不是替换项目 name.deploymentoptions >文件中指示<的所有现有分区、角色和成员。

若要修改项目中分区和角色的部署,不能更改项目中的分区和角色设置,因为 <SQL Server Data Tools 中的项目名称>“属性页”对话框不显示这些选项。 如果要更改角色和分区的部署选项,必须在项目名称>.deploymentoptions 文件本身中<更改此信息。 以下过程介绍如何更改项目 name.deploymentoptions >文件中的<分区和角色部署选项。

在生成了输入文件后更改分区或角色的部署

  • 以交互方式运行部署向导,并在 “分区和角色部署选项” 页上,为分区和角色指定新的部署选项。

    -或-

  • 在命令提示符下运行部署向导,并将向导设置为在应答文件模式下运行。

    -或-

  • 在任何<文本编辑器中打开项目 name.deploymentoptions>,并手动更改选项。 PartitionDeployment 的选项为 DeployPartitions、RetainPartitions。 RoleDeployment 的选项包括 DeployRolesAndMembers、DeployRolesRetainMembers、RetainRoles。

部署脚本文件 - 解决方案部署配置设置

部署向导从<项目 name.configsettings >文件读取部署脚本中使用的分区和角色部署选项。 对于多维项目,SQL Server Data Tools会在生成项目时创建此文件。 对于表格项目,根据版本,可能需要在应答模式下运行部署向导以生成 .configsettings 文件。 SQL Server Data Tools使用当前项目的配置设置来创建<项目名称>.configsettings 文件。

查看配置设置

以下是存储在<项目 name.configsettings >文件中的配置设置:

  • 数据源连接字符串 - 这些是每个数据源的连接字符串,基于项目中指定的值。 总是先删除连接字符串中的用户 ID 和密码,然后再在此文件中存储字符串的其余部分。 但是,如果部署向导直接对 Analysis Services 实例进行部署,则可以在向导中添加相应的用户 ID 和密码信息,以便成功地处理部署数据库。 如果部署向导保存了此连接信息,则部署脚本中不存储此信息。

  • 模拟帐户 - 此设置指定SQL Server Analysis Services用于在每个数据源中运行语句的用户名。 如果未指定模拟帐户,SQL Server Analysis Services使用其登录帐户来运行语句。 如果直接在数据源中向登录帐户授予权限,则 SQL Server Analysis Services 实例中所有数据库中的所有数据库管理员都可以通过登录帐户访问数据源。 如果指定用户帐户和密码,则总是先删除此信息,然后再在此文件中存储模拟信息。 但是,如果部署向导直接对 Analysis Services 实例进行部署,则可以在向导中添加相应的用户 ID 和密码信息,以便成功地处理部署数据库。 如果部署向导保存了此模拟信息,则部署脚本中不存储此信息。

    注意

    对于具有结构化提供程序数据源连接的兼容级别为 1400 及更高级别的表格模型,在向导的“指定配置属性”页上选择“ 保留现有对象的配置设置 ”时,不会保留目标服务器表格模型数据库上存储的用户名和密码。 部署完成后,管理员必须使用 SSMS 手动设置用户名和密码。

  • 键错误日志文件 - 此设置指定数据库中每个多维数据集、度量值组、分区和维度的文件名和密钥错误日志文件的路径。

  • 存储位置 - 此设置指定数据库中每个多维数据集、度量值组和分区的存储位置。 如果未为对象提供任何值,则部署向导将使用该对象的默认位置。 例如,分区使用度量值组的位置,度量值组使用多维数据集的位置,多维数据集使用服务器实例上对象的默认位置。 存储位置可以是本地路径,也可以是通用命名约定 (UNC) 路径。

  • 报表服务器 - 此设置指定数据库中每个多维数据集中定义的每个报表操作的报表服务器和文件夹位置。

修改配置设置

在某些情况下,可能需要使用与存储在项目 name.configsettings >文件中的配置设置不同的配置设置<来部署项目。 例如,最好更改一个或多个数据源的连接字符串,或需要为特定的分区或度量值组指定存储位置。

若要修改项目中分区和角色的部署,必须在项目名称>.configsettings 文件中更改此信息<,如下面的过程所述。 无法更改项目中的分区和角色设置,因为 <SQL Server Data Tools 中的项目名称>“属性页”对话框不显示这些选项。

注意

配置设置可应用于所有对象,也可仅应用于新创建的对象。 仅当将其他对象部署到以前部署SQL Server Analysis Services数据库且不想覆盖现有对象时,才将配置设置应用于新创建的对象。 若要指定配置设置是适用于所有对象还是仅适用于新创建的对象,请在 <project name.deploymentoptions >文件中设置此选项。

在生成输入文件后更改配置设置

  • 以交互方式运行部署向导,并在 “配置设置” 页上为要部署的对象指定配置设置。

    -或-

  • 在命令提示符下运行部署向导,并将向导设置为在应答文件模式下运行。

    -或-

  • <使用任何文本编辑器修改项目 name.configsettings> 文件。

部署脚本文件 - 处理选项

部署向导从<项目 name.deploymentoptions >文件中读取处理选项。 SQL Server Data Tools生成项目时创建此文件。 SQL Server Data Tools使用项目名称>“属性页”对话框的<部署”页上指定的处理选项来创建<项目名称>.deploymentoptions 文件。

查看处理选项

存储在项目 name.deploymentoptions >文件中的配置设置<包括:

  • 处理方法 - 此设置控制部署后是否处理部署的对象以及将要执行的处理类型。 有以下三个处理选项:

    • 默认处理 (默认) 检测数据库对象的进程状态,并执行必要的处理,以便将未处理或部分处理的对象传递到完全处理状态。

    • 完全处理处理对象及其包含的所有对象。 对已被处理的对象执行“处理全部”时,Analysis Services 将删除该对象中的所有数据,然后再处理该对象。

    • 无表示不执行任何处理。

  • 写回表选项 - 如果在项目中启用了写回,此设置将定义写回的处理方式。 有以下三个写回表选项:

    • 默认情况下,如果存在写回表,则使用该表。 如果写回表不存在,则将创建一个新的写回表。

    • 如果写回表已经存在,则部署失败。 如果写回表不存在,则将创建一个新的写回表。

    • 不管写回表是否已存在,都将创建新的写回表。 在这种情况下,部署向导将删除任何现有表,并将其替换为新的写回表。

  • 事务部署 - 此设置控制元数据更改和处理命令的部署是在单个事务中还是在单独的事务中发生。

    • 如果此选项为 True (默认) ,SQL Server Analysis Services会在单个事务中部署所有元数据更改和所有进程命令。

    • 如果此选项为 False,SQL Server Analysis Services在单个事务中部署元数据更改,并在其自己的事务中部署每个处理命令。

修改处理选项

但是,可能需要使用与项目名称>.deploymentoptions 文件中存储<的选项不同的处理选项来部署项目。 例如,您也可能要完全处理所有对象,使用默认处理选项进行处理,也可不进行任何处理。 如果多维数据集或维度启用了写操作,则可以指定是使用新的写回表还是现有的写回表。

若要修改部署过程中使用的处理选项,可以编辑和重新生成项目,也可以通过使用下列步骤中介绍的方法之一来更改输入文件中的处理选项。

在生成输入文件后更改处理选项

  • 以交互方式运行部署向导。 在 “处理选项” 页上,为要部署的项目指定处理选项。

    -或-

  • 在命令提示符下运行部署向导,并将向导设置为在应答文件模式下运行。

    -或-

  • <使用任何文本编辑器修改项目名称>.deploymentoptions 文件。

另请参阅

使用 XMLA 部署模型解决方案
使用部署实用工具部署模型解决方案