我在VS2013中构建了一个SSIS包,但无法找到任何部署指令。有人提到他认为你无法向后部署。所以在我在BIDS 2008中重建软件包之前,我想确保无法部署。
答案 0 :(得分:3)
几乎所有MS BI堆栈(SSIS,SSRS,SSAS)都不向后兼容,这意味着您无法在较新的环境中开发并部署到较旧的SQL Server。
如果你考虑一下,很容易理解为什么:
SSIS包,SSRS报告和SSAS数据库都有一个共同点。它们都是惰性XML文件。在记事本中打开一个,您将看到XML。尝试执行一个,什么都不会发生。好吧,它可能会尝试打开Visual Studio,或者与文件扩展名相关联的任何内容,但重点是,它不能像.exe文件一样自行执行。
使SSIS包和SSRS报告执行并且处理SSAS数据库并使其可查询的引擎是在SQL Server上运行的服务。它能够读取XML文件并说"啊,我知道如何处理这个问题。"它就像SSIS / SSRS / SSAS文件是一个配方,SQL Server就是厨师。
因此,在SQL Server 2008中,SQL Server开发人员编写了一个引擎,可以查看XML文件并按照文件中的说明进行操作,只要这些指令符合引擎编写的有限命令集即可处理。
他们将这些命令提供给Visual Studio开发人员并说,"只要Visual Studio生成使用这些命令的XML文件,我们的引擎就能够解释并执行它。"因此,Visual Studio 2008生成的XML文件仅限于SQL Server 2008将理解的命令。
然后在2012年,SQL Server开发人员创建了一个新的改进引擎,该引擎了解2008年没有考虑过的新命令。它将这些命令提供给Visual Studio人员,并且他们开始生成使用的XML新命令。
因此,当您使用Visual Studio 2012制作BI对象时,它可以包含2008年不存在的命令,并且Microsoft不会在SQL Server 2008中返回并添加对它们的支持那么SQL Server 2008会看到新的命令并说出"呵呵?"
这是一个相当粗略的过度简化(例如,它不仅仅是命令,而是整个格式的XML可以在不同的版本之间变化),但希望它很清楚地说明了为什么你不能发展Visual Studio的新版本上的BI对象,而不是与您的SQL Server版本配对的版本。
希望对下一个提出同样问题的人有用。