可以将SSIS 2012包部署到SQL Server 2008 R2吗?

时间:2021-03-19 16:38:08

I built a SSIS package in VS2013 and can't find any deployment instructions. One person mentioned he thought you can't deploy backwards. So before I rebuild the package in BIDS 2008, I want to make sure there is no way to deploy.

我在VS2013中构建了一个SSIS包,但找不到任何部署指令。有人提到他认为你无法向后部署。所以在我重建BIDS 2008中的软件包之前,我想确保无法部署。

1 个解决方案

#1


Pretty much none of the MS BI stack (SSIS, SSRS, SSAS) is backward compatible, meaning you cannot develop in a newer environment and deploy to an older SQL Server.

几乎没有MS BI堆栈(SSIS,SSRS,SSAS)是向后兼容的,这意味着您无法在较新的环境中开发并部署到较旧的SQL Server。

And if you think about it, it's easy to understand why:

如果你仔细想想,很容易理解为什么:

SSIS packages, SSRS Reports, and SSAS databases all have one thing in common. They are all inert XML files. Open one in notepad, and you will see XML. Try to execute one, and nothing will happen. Well, it will probably try to open Visual Studio, or whatever you have associated with its file extension, but the point is, it can't execute on its own like an .exe file.

SSIS包,SSRS报告和SSAS数据库都有一个共同点。它们都是惰性XML文件。在记事本中打开一个,您将看到XML。尝试执行一个,什么都不会发生。好吧,它可能会尝试打开Visual Studio,或者与其文件扩展名相关的任何内容,但重点是,它不能像.exe文件一样自行执行。

The Engine that makes SSIS packages and SSRS Reports execute, and that processes SSAS databases and makes them queryable, is the service running on the SQL Server. It is capable of reading the XML file and saying "ah, I know what to do with this." It's like the SSIS/SSRS/SSAS file is a recipe, and SQL Server is the cook.

使SSIS包和SSRS报告执行并且处理SSAS数据库并使其可查询的引擎是在SQL Server上运行的服务。它能够读取XML文件并说“啊,我知道如何处理这个问题。”这就像SSIS / SSRS / SSAS文件是一个配方,SQL Server是厨师。

So in SQL Server 2008, the SQL Server Developers wrote an engine that can look at an XML file and follow the instructions in the file, as long as those instructions conform to a limited set of commands that the engine is written to handle.

因此,在SQL Server 2008中,SQL Server开发人员编写了一个引擎,可以查看XML文件并按照文件中的说明进行操作,只要这些指令符合引擎编写的有限命令集即可处理。

They give those commands to the Visual Studio developers and say, "As long as Visual Studio produces an XML file that uses these commands, our engine will be able to interpret it and execute it." So Visual Studio 2008 produces XML files that are limited to commands that SQL Server 2008 will understand.

他们将这些命令提供给Visual Studio开发人员并说:“只要Visual Studio生成使用这些命令的XML文件,我们的引擎就能够解释并执行它。”因此,Visual Studio 2008生成的XML文件仅限于SQL Server 2008将理解的命令。

Then in 2012, the SQL Server Developers create a new improved engine that understands new commands that hadn't been thought of back in 2008. It gives those commands to the Visual Studio guys, and they start producing XML that uses the new commands.

然后在2012年,SQL Server开发人员创建了一个新的改进引擎,它可以理解2008年没有想到的新命令。它将这些命令提供给Visual Studio人员,并且他们开始生成使用新命令的XML。

So when you use Visual Studio 2012 to make a BI object, it can include commands that didn't exist in 2008, and Microsoft isn't going to go back and add support for them in SQL Server 2008. So SQL Server 2008 will see the new commands and say "huh?"

因此,当您使用Visual Studio 2012制作BI对象时,它可以包含2008年不存在的命令,并且Microsoft不会返回并在SQL Server 2008中添加对它们的支持。因此,SQL Server 2008将会看到新命令并说“嗯?”

This is a pretty gross oversimplification (eg, it's not just commands but the whole format of the XML that can change from version to version), but hopefully it illustrates pretty clearly why you can't develop BI objects on a newer version of Visual Studio than the one that was paired with your version of SQL Server.

这是一个相当过于简单化(例如,它不只是但可以因版本更改XML的全格式命令),但希望它说明了相当清楚的,为什么你不能在Visual Studio中的新版本开发BI对象而不是与您的SQL Server版本配对的那个。

And hopefully it will be useful to the next person who's asking the same question.

并希望它对下一个提出同样问题的人有用。

#1


Pretty much none of the MS BI stack (SSIS, SSRS, SSAS) is backward compatible, meaning you cannot develop in a newer environment and deploy to an older SQL Server.

几乎没有MS BI堆栈(SSIS,SSRS,SSAS)是向后兼容的,这意味着您无法在较新的环境中开发并部署到较旧的SQL Server。

And if you think about it, it's easy to understand why:

如果你仔细想想,很容易理解为什么:

SSIS packages, SSRS Reports, and SSAS databases all have one thing in common. They are all inert XML files. Open one in notepad, and you will see XML. Try to execute one, and nothing will happen. Well, it will probably try to open Visual Studio, or whatever you have associated with its file extension, but the point is, it can't execute on its own like an .exe file.

SSIS包,SSRS报告和SSAS数据库都有一个共同点。它们都是惰性XML文件。在记事本中打开一个,您将看到XML。尝试执行一个,什么都不会发生。好吧,它可能会尝试打开Visual Studio,或者与其文件扩展名相关的任何内容,但重点是,它不能像.exe文件一样自行执行。

The Engine that makes SSIS packages and SSRS Reports execute, and that processes SSAS databases and makes them queryable, is the service running on the SQL Server. It is capable of reading the XML file and saying "ah, I know what to do with this." It's like the SSIS/SSRS/SSAS file is a recipe, and SQL Server is the cook.

使SSIS包和SSRS报告执行并且处理SSAS数据库并使其可查询的引擎是在SQL Server上运行的服务。它能够读取XML文件并说“啊,我知道如何处理这个问题。”这就像SSIS / SSRS / SSAS文件是一个配方,SQL Server是厨师。

So in SQL Server 2008, the SQL Server Developers wrote an engine that can look at an XML file and follow the instructions in the file, as long as those instructions conform to a limited set of commands that the engine is written to handle.

因此,在SQL Server 2008中,SQL Server开发人员编写了一个引擎,可以查看XML文件并按照文件中的说明进行操作,只要这些指令符合引擎编写的有限命令集即可处理。

They give those commands to the Visual Studio developers and say, "As long as Visual Studio produces an XML file that uses these commands, our engine will be able to interpret it and execute it." So Visual Studio 2008 produces XML files that are limited to commands that SQL Server 2008 will understand.

他们将这些命令提供给Visual Studio开发人员并说:“只要Visual Studio生成使用这些命令的XML文件,我们的引擎就能够解释并执行它。”因此,Visual Studio 2008生成的XML文件仅限于SQL Server 2008将理解的命令。

Then in 2012, the SQL Server Developers create a new improved engine that understands new commands that hadn't been thought of back in 2008. It gives those commands to the Visual Studio guys, and they start producing XML that uses the new commands.

然后在2012年,SQL Server开发人员创建了一个新的改进引擎,它可以理解2008年没有想到的新命令。它将这些命令提供给Visual Studio人员,并且他们开始生成使用新命令的XML。

So when you use Visual Studio 2012 to make a BI object, it can include commands that didn't exist in 2008, and Microsoft isn't going to go back and add support for them in SQL Server 2008. So SQL Server 2008 will see the new commands and say "huh?"

因此,当您使用Visual Studio 2012制作BI对象时,它可以包含2008年不存在的命令,并且Microsoft不会返回并在SQL Server 2008中添加对它们的支持。因此,SQL Server 2008将会看到新命令并说“嗯?”

This is a pretty gross oversimplification (eg, it's not just commands but the whole format of the XML that can change from version to version), but hopefully it illustrates pretty clearly why you can't develop BI objects on a newer version of Visual Studio than the one that was paired with your version of SQL Server.

这是一个相当过于简单化(例如,它不只是但可以因版本更改XML的全格式命令),但希望它说明了相当清楚的,为什么你不能在Visual Studio中的新版本开发BI对象而不是与您的SQL Server版本配对的那个。

And hopefully it will be useful to the next person who's asking the same question.

并希望它对下一个提出同样问题的人有用。