gpt4 book ai didi

sql-server - VS中的SSDT与SQL Server中的Integration Services之间的区别

转载 作者:行者123 更新时间:2023-12-03 02:38:08 33 4
gpt4 key购买 nike

我想知道Visual Studio中的SSDT与SQL Server中的Integration Services之间的区别。在VS中使用SSDT在本地开发SSIS包时,我可以将数据传递到本地SQL Server,而无需在SQL Server实例中安装Integration Services。我想知道是否需要Integration Services来允许服务器之间的通信。假设当SQL Server DB位于一台服务器上而.dtsx程序包位于另一台服务器上时。

最佳答案

微软的市场部门就是在这里运作的。重要的是要了解微软不是一家编写代码的公司。微软是一家碰巧写代码的营销公司。

简单的答案是,SSDT是旨在用作商业智能的项目模板的包装。

SSDT包含三种模板类型:

  • SSIS:集成服务
  • SSRS:报告服务
  • SSAS:分析服务

  • 更新

    我没有回答运行软件包的问题。基本上,您可以在Visual Studio中针对SQL Server运行任何SSDT程序包。但是,如果要将SSDT包部署到SQL Server,则必须安装这些服务。可以通过SQL Server实例安装向导来安装服务。您将需要注意另一个毛骨悚然的概念,即SQL Server版本定位: Click Here

    例如,如果您想将SSIS包部署并运行到SQL Server,则需要安装Integration Services(这将包括DTExec.exe和ISDeploymentWizard.exe)。现在,您还需要将SSISDB安装到SQL Server,以便能够将SSIS包部署到SQL Server-这是通过SQL Server Management Studio(SSMS)执行的。实际的软件包都部署到名为 Integration Services Catalog 的文件夹并从该文件夹进行管理。然后可以通过SQL Server代理自动计划运行这些程序包。除了查询信息 see here之外,极不可能直接使用SSIDB。

    请参阅Microsoft的说明: click here

    SSRS软件包是通过单独的Web-UI管理的,我还没有处理过SSAS软件包。这不好玩吗?

    关于DTExec.exe的说明

    我遇到了纯粹主义者,他们鄙视SSIS,主要是因为他们不了解SSIS。我得到的一般论据是,它比PowerShell或存储过程慢。这可能会导致某人的头部爆炸。

    基本上,PowerShell通过.NET Framework(位于C#中)运行,并且必须在OS的几层中运行才能执行。虽然SSIS组件是用C#编写的,但是DTExec.exe应用程序是用C++编写的,它可以直接访问系统资源(C#不能执行此操作,因为它是托管代码!)。因此,SSIS将在大型任务中淘汰PowerShell和存储过程。

    存储过程是另一种动物,但由于缺少流水线缓冲区(即数据流选项卡)而仍然较慢。另一个主要限制是SQL Server如何顺序执行存储过程。因此,让我们想象一下,一个可比较的SSIS作业被分解为多个存储过程,并且这些过程被一个主存储过程(可以说是一个 super 存储过程)调用。 SQL Server将一次一次顺序执行存储过程-这是一个巨大的性能瓶颈。 SSIS的管道缓冲区消除了这种情况,方法是在每个任务中处理默认的10,000行(这是可配置的),然后将其传递给下一个任务。因此,我们可以将数据流任务视为自己的存储过程。

    其他上下文

    由于SSIS与 有关,所以与SSIS的构成之间存在长期的混淆,而Visual Studio的不一定与SQL Server有关。
  • 2005年之前:是数据转换服务( DTS )
  • 2005和2008:在2005年,DTS进行了大修,并在开发后期更名为SSIS。这就是为什么SSIS中的所有内容仍引用DTS(即* .dtsx文件)的原因。直到今天仍然如此。奇怪的是,只有受虐狂喜欢DTS。但!模板包已重命名为Business Intelligence Development Studio( BIDS )
  • 2012和2013:已重命名为 SSDT-BI 。显然,已经有另一种名为SSDT的产品
  • 2015年及以后:现在命名为 SSDT

  • 请参阅Microsoft尝试解释SSDT的尝试: click here

    在Visual Studio 2017(VS 2017)之前,SSDT及其各种形式在很大程度上被视为Visual Studio的白痴继子。我之所以这样说,是因为VS仅作为这些项目类型的独立产品安装。我不知道为什么要这样做-我最好的猜测是因为SSDT是免费的。无论如何,如果要使用Visual Studio进行其他应用程序开发,则必须安装单独的Visual Studio实例。因此,我们的开发人员实际上在我们的开发箱上有两个独立的安装,我们必须将特定的安装用于我们正在做的任何事情(即,SSDT或非SSDT开发)。

    现在,在VS 2019中,Microsoft取消了该模型,并最终将SSDT软件包集成到了产品中。虽然,SSTD VS 2019的首次推出是开箱即用的喜剧。请参阅 clicking here的解释。基本上,SSIS不随软件包一起安装,必须单独添加。但是,您仍然有一个VS 2019实例。此外,不建议使用SQL11数据提供程序。而且,显然安装包也没有提供,因此需要单独安装。因此,所有使用它的现有软件包都需要升级并重新部署(请参阅已知问题#1)。

    我暂时推迟升级到VS 2019。 VS 2017至少可以说是一件痛苦的事。我个人仍然使用VS 2013 Update5。所有VS实例都针对SQL Server 2014。

    关于sql-server - VS中的SSDT与SQL Server中的Integration Services之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56190367/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com