Sql server 了解Integration Services上的存储包
我们有几个SSIS包(在一个解决方案中)保存在服务器上的一个目录中。这些包通过SQL Server代理作业运行,并以“文件系统”作为包源。软件包不会以任何方式添加到“集成服务”(您可以通过SSMS中的“连接”按钮连接的东西)。这似乎很有效 现在,我试图了解Integration Services存储包的实际用途和工作原理。这可能是有一个很好的理由,但我还不明白(阅读几个主题没有帮助) 如果打开Integration Services并将现有包添加到存储包中的MSDB文件夹中,它将添加到我的SQL Server实例的MSDB系统数据库中。然后,我可以从Sql server 了解Integration Services上的存储包,sql-server,ssis,Sql Server,Ssis,我们有几个SSIS包(在一个解决方案中)保存在服务器上的一个目录中。这些包通过SQL Server代理作业运行,并以“文件系统”作为包源。软件包不会以任何方式添加到“集成服务”(您可以通过SSMS中的“连接”按钮连接的东西)。这似乎很有效 现在,我试图了解Integration Services存储包的实际用途和工作原理。这可能是有一个很好的理由,但我还不明白(阅读几个主题没有帮助) 如果打开Integration Services并将现有包添加到存储包中的MSDB文件夹中,它将添加到我的SQL
sysssippackagefolders
或sysssippackagefolders
查询有关它的一些信息,并直接运行包
如果我将一个现有的包添加到存储包中的文件系统文件夹中,似乎什么都不会发生,只是它还允许我通过右键单击并选择“运行包”来运行它
我觉得我错过了这里重要的东西。我的问题如下:
以下是数据库存储包与文件系统存储包的一些优点/缺点: 文件系统
- 基于操作系统的文件加密和ACL
- 更易于直接访问以查看或编辑软件包
- 开发人员通常更容易管理(要更改包,只需替换文件)
- 多人更容易访问
- 数据库安全、角色和代理交互的好处
- 使用正常的数据库备份过程备份包
- 通常DBA更容易管理(他将控制包在更改等方面发生的事情)
关于第二个问题,包是SSIS可以读取和执行的XML文件。在基于文件的部署中,SSIS在文件系统上定位并执行包;在DB部署中,SSIS在MSDB表上定位并执行包。在性能方面没有任何差异。好的,所以我对SSIS包存储和保存包的理解有很多误解。这是我学到的。首先,“通过SSMS中的“connect”(连接->集成服务…)按钮可以连接的东西称为SSIS包存储 将包添加到Integration Services“存储包”文件夹中的“文件系统”或“MSDB”文件夹时,会发生什么情况?优势是什么? 文件系统 如果要使用SSIS包存储中的文件夹,请将包保存到默认的文件系统目录(
..\Microsoft SQL Server\100\DTS\packages
)或将文件系统的根文件夹更改为要使用的目录。(您可以通过更改MsDtsSrvr.ini.xml文件中的默认值。\Packages
,该文件位于..\Microsoft SQL Server\100\DTS\Binn
目录中。完成后不要忘记重新启动Integration Services服务。)将包添加到此目录时,它将出现在SSIS包存储的文件系统文件夹中。然后,您可以直接从SSIS包存储或通过SQL Server代理作业运行包(通过在作业步骤属性中选择SSIS包存储作为包源,然后选择包)
编辑包很容易:在文件系统目录中打开包,编辑并保存,新版本将通过SSIS包存储立即可用
优点:
- 包的部署和故障排除很容易
- 当数据库引擎关闭时,包仍然可用
- 包的安全性可以通过数据库安全性进行严格配置
- 将在备份msdb数据库时备份包
- 包裹存放在中心位置