在生产环境中使用分析服务项目和数据库

在将 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 数据库的生产版本。 由于这两种工具仅使用同一联机服务器,因此无法同步不同的版本。