2

我有三种不同的环境;开发、测试和生产。

这三个 SSAS 环境连接到三个不同的 SQL Server 实例。

但是,服务器在 SSAS 数据源中是硬编码的,因此当您部署时,实例会损坏,因为它指向错误的、无法访问的 SQL 服务器。

如何配置 SSAS 数据源连接字符串,使其在部署时不会被覆盖,或者,如何使其可变,以便查找部署到的环境的正确值?

在部署到每个环境之前,我一直在手动编辑 .asdatabase 文件,但这是对变更控制程序的不可接受的违反,因此我必须建立一个更合适的机制。也许有一个非常简单的解决方案,但如果是这样,我还没有想出来。

4

3 回答 3

1

一种方法可能是在部署 SSAS 多维数据集时,您可以运行 XMLA 脚本,在 SSAS 连接字符串中设置 SQL Server 数据源。另一种方法是您可以将源设置为在所有环境中具有相同名称的 System DSN,并在 ODBC 数据源控制面板中进行调整。由于各种原因,我更喜欢前者,但后者可以工作。

于 2013-07-18T03:50:50.813 回答
1

在 Visual Studio 2019 的 SSAS / SSDT 版本中,配置管理器在更改时似乎会偷偷更改它。这保存在 .dwproj 文件中。每个配置都有一个这样的条目。

<Configuration>
  <Name>Prod</Name>
  <Options>
    <ConnectionMappings>
      <ConfigurationSetting>
        <Id>SII DW</Id>
        <Name>SII DW</Name>
        <Value xsi:type="xsd:string">Provider=SQLNCLI11.1;Data Source=SERVER;Integrated Security=SSPI;Initial Catalog=SII_DW</Value>
      </ConfigurationSetting>
    </ConnectionMappings>
    <ConnectionSecurityMappings>
      <ConfigurationSetting>
        <Id>SII DW</Id>
        <Name>SII DW</Name>
        <Value xsi:type="xsd:int">0</Value>
      </ConfigurationSetting>
    </ConnectionSecurityMappings>
    <DeploymentServerEdition>Standard</DeploymentServerEdition>
    <DeploymentServerVersion>13.0</DeploymentServerVersion>
  </Options>
</Configuration>
于 2020-03-13T20:28:27.320 回答
0

这让我最近有点发疯,但我设法做到这一点的方式是使用部署向导部署到开发(我使用的是表格,所以我必须使用 v17)。然后在 SSMS 中,我连接到我的开发分析服务实例,右键单击数据源并在那里更改连接属性,然后手动处理。

以前,如果我在 SSDT 中这样做,到目前为止,由于某种未知的原因它没有工作(我希望我会深入了解它)。

不过,我觉得这不是最好的解决方案,我尝试使用部署脚本,但这也不起作用。

于 2017-12-12T06:34:32.707 回答