Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS 2012-项目包环境连接配置的最佳模式_Ssis_Bids_Ssis 2012 - Fatal编程技术网

SSIS 2012-项目包环境连接配置的最佳模式

SSIS 2012-项目包环境连接配置的最佳模式,ssis,bids,ssis-2012,Ssis,Bids,Ssis 2012,SSIS 2012项目(将部署到服务器)中配置连接的“最佳做法”是什么?文档和谷歌展示了实现这一点的多种方法,但哪种方法充分利用了2012项目/部署模型,并且易于定制、维护等 考虑一个包含三个包的项目(NorthwindETL),每个包都引用localhost.Northwind。在SSIS服务器上,有一个项目“NorthwindETL”和一个环境“Dev” 要配置连接,我有以下选项 在BIDS中:在每个包中手动硬编码连接(通过连接管理器)在SSIS中:配置SSIDB“NorthwindETL”

SSIS 2012项目(将部署到服务器)中配置连接的“最佳做法”是什么?文档和谷歌展示了实现这一点的多种方法,但哪种方法充分利用了2012项目/部署模型,并且易于定制、维护等

考虑一个包含三个包的项目(NorthwindETL),每个包都引用localhost.Northwind。在SSIS服务器上,有一个项目“NorthwindETL”和一个环境“Dev”

要配置连接,我有以下选项

  • 在BIDS中:在每个包中手动硬编码连接(通过连接管理器)在SSIS中:配置SSIDB“NorthwindETL”项目,在“连接管理器”选项卡下,为每个包修改一次Northwind连接字符串
  • 在BIDS中:使用连接管理器“参数化…”选项,创建项目(或包)参数以指定连接字符串(Northwind_Conn)在SSIS中:配置SSIDB“NorthwindETL”项目,指定Northwind_Conn参数值
  • 在投标中:创建项目级连接管理器(project\u Northwind\u Conn)在SSIS中:配置SSIDB“NorthwindETL”项目,在“连接管理器”选项卡下,修改“project\u Northwind\u Conn”连接字符串
  • 在SSIS中:在SSIDB上创建一个名为“DEV”的环境。在“Dev”环境属性的“variables”下,创建变量“Env_Northwind_Conn”。配置NorthwindETL项目,将“Northwind_Conn”设置为环境变量“Env_Nothwind_Conn”

  • (另外,我更喜欢一种允许我们单独指定项目(如InitialCatalog和Server)的解决方案,但这不是必需的。尽管连接管理器允许您修改InitialCatalog和Server属性,但这似乎并不实际修改ConnectionString。)

    对于要在所有包(通常是数据库连接)中使用的连接管理器,2012版为我们提供了Project connection Manager(选项3)。我发现这对连接管理器来说是最愉快的,因为当我开始应用配置时,我在项目级别应用它一次,而不是每个包应用一次

    除非您从同一台专用服务器运行dev/test/prod ETL,否则我不喜欢这样命名SSIS环境变量。主要原因是我的部署脚本必须具有内置的智能,以便不仅切换每层的服务器名称,而且切换环境名称。只是让哑巴有更多的机会进入

    我还喜欢在SSIDB中创建一个空文件夹,称之为Configs,然后在那里建立我的SSIS环境变量。然后,所有项目都引用该文件夹的变量。在我的客户中,通常情况下,他们都在引用同一个销售数据库,因此我似乎需要做更多的工作来维护N个配置以满足N个项目,而不是拥有一个共享的配置存储库


    把一切都写下来。在创建和分配配置时,单击滚动图标。当您需要从一个环境迁移到下一个环境时,这将使您更容易进行操作。

    如果您不介意澄清第三段,您是在谈论文件系统文件夹(用于配置文件)还是SSIDB文件夹?如果是后者,您是使用实际的环境变量,还是使用项目变量?我的所有答案都是SSIDB。我提到的环境变量是基于SSIDB的,而不是Windows的。那里的团队选择了令人遗憾的术语。对于连接管理器,我不再采用创建包参数然后在其上使用表达式的方法,以使包能够跨环境移植。相反,目录允许您直接配置这些属性。哇,这太酷了!我知道这是很久以前的事了,但这看起来正是我想要做的事情——服务器级配置。我将尝试阅读更多关于这方面的内容,但如果您有时间给我指出一个正确方向的链接,我将不胜感激。