SQL Server Best Practices Analyzer 注意到我的 Integration Services 的日志记录表位于系统数据库中。它建议我将其移至非系统数据库。(见这里)
我如何进行此更改?我无法为此找到设置。我正在使用 SQL Server 2012。
SQL Server Best Practices Analyzer 注意到我的 Integration Services 的日志记录表位于系统数据库中。它建议我将其移至非系统数据库。(见这里)
我如何进行此更改?我无法为此找到设置。我正在使用 SQL Server 2012。
将 Kin 的评论吹到一个答案......
登录包部署模型(2005、2008/2008R2 和可能的 2012/2014/2016,具体取决于项目的定义方式)是通过每个包内的显式请求完成的。
包裹看起来像这样。在底部,您会在连接管理器下看到 3 个条目:msdb、SO_34033143 和 NotMsdb。中间是一个平面文件连接管理器,另外两个是 OLE DB 连接管理器。连接管理器所做的只是定义包将要使用的实体的细节:该服务器上的这个数据库以 user123 身份登录。名为 XYZ.csv 等的 CSV
重要的是要注意,连接管理器的名称可能与它实际连接的对象无关。比如那个名为“msdb”的其实是指向tempdb的,因为我比较懒。
如果您右键单击数据流任务和连接管理器之间的灰色背景,您应该会看到一个上下文相关的菜单并选择日志记录
在出现的屏幕中,您应该会看到一个弹出菜单,在右侧选中了“SQL Server 的 SSIS 日志提供程序”。第三列表示用于记录 SSIS 的连接管理器。
您想再做一次,这是针对每个包的,进入并将连接管理器从指向 msdb 的东西更改为使用现有连接管理器或将专用连接管理器添加到包中。
就我个人而言,在 2012 年之前的环境中,我提倡使用 SSISConfig/SSIS_Config 数据库。我用它来记录和配置给定的服务器层/类 (dev/stage/prod)。
如果您擅长编写脚本,则可以通过编程方式打开每个 SSIS 包并更改日志记录提供程序,但这不适合胆小的人。我不相信我在网上有那个代码,但如果你非常绝望,请通过评论 ping 我,我会看看我是否能找到那个硬盘。