在生产环境中使用 Analysis Services 项目和数据库

在开发 Analysis Services 数据库并将其从 Analysis Services 项目部署到 Analysis Services 实例后,必须决定要如何更改已部署数据库中的对象。 某些更改(例如与安全角色、分区和存储设置相关的更改)可以使用 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 。 其他更改只能使用 SQL Server Data Tools (SSDT) 进行,无论是在项目模式还是在联机模式下 (,例如) 添加属性或用户定义的层次结构。

一旦在联机模式下使用 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 对已部署的 Analysis Services 数据库进行更改,用于部署的 Analysis Services 项目就会过时。 如果开发人员在 Analysis Services 项目中进行任何更改并尝试部署修改后的项目,则系统会提示开发人员覆盖整个数据库。 如果开发人员覆盖整个数据库,则还必须对数据库进行处理。 如果生产人员直接对部署的数据库所做的更改未传达给开发团队,因为他们无法理解其更改为何不再显示在 Analysis Services 数据库中,则此问题会变得更加复杂。

可通过多种方式使用SQL Server Analysis Services工具来避免这种情况中固有的问题。

  • 方法 1:每当对 Analysis Services 数据库的生产版本进行更改时,请使用 SQL Server Data Tools (SSDT) 基于 Analysis Services 数据库的修改版本创建新的 Analysis Services 项目。 此新 Analysis Services 项目可以作为项目的主副本签入源代码管理系统。 无论更改是使用 SQL Server Management Studio 还是SQL Server Data Tools (SSDT) 联机模式对 Analysis Services 数据库进行更改,此方法都将有效。

  • 方法 2:仅在项目模式下使用 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 更改 Analysis Services 数据库的生产版本。 使用此方法,可以使用 Analysis Services 部署向导中可用的选项来保留SQL Server Management Studio所做的更改,例如安全角色和存储设置。 这样可确保将与设计相关的设置保留在项目文件中(可以忽略存储设置和安全角色),并将联机服务器用于存储设置和安全角色。

  • 方法 3:仅在联机模式下使用 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 更改 Analysis Services 数据库的生产版本。 由于这两种工具都仅使用相同的联机服务器,因此,不同版本也会保持同步。