Sql-Server

更改用於 SQL Server Integration Services 日誌記錄的數據庫

  • June 21, 2019

SQL Server 最佳實踐分析器注意到我的集成服務的日誌記錄表位於系統數據庫中。它建議我將其移至非系統數據庫。(見這裡

如何進行此更改?我無法為此找到設置。我正在使用 SQL Server 2012。

將 Kin 的評論吹到一個答案…

登錄包部署模型(2005、2008/2008R2 和可能的 2012/2014/2016,具體取決於項目的定義方式)是通過每個包中的顯式請求完成的。

一個包看起來像這樣。在底部,您會在 Connection Managers 下看到 3 個條目:msdb、SO_34033143 和 NotMsdb。中間是平面文件連接管理器,另外兩個是 OLE DB 連接管理器。連接管理器所做的只是定義包將使用的實體的細節:該伺服器上的這個數據庫以 user123 身份登錄。一個名為 XYZ.csv 等的 CSV。

在此處輸入圖像描述

需要注意的是,連接管理器的名稱可能與其實際連接的對象無關。例如,名為“msdb”的那個實際上是指向 tempdb,因為我很懶。

如果您右鍵點擊數據流任務和連接管理器之間的灰色背景,您應該得到一個上下文相關菜單並選擇日誌記錄

在此處輸入圖像描述

在結果螢幕中,您應該會看到一個菜單彈出,右側已選中“SSIS Log Provider for SQL Server”。第三列表示用於記錄 SSIS 的連接管理器。

在此處輸入圖像描述

您將要再次執行此操作,這是針對每個包的,進入並更改指向 msdb 的連接管理器,然後使用現有的連接管理器或將專用的連接管理器添加到包中。

在此處輸入圖像描述

就個人而言,在我 2012 年之前的環境中,我提倡使用 SSISConfig/SSIS_Config 數據庫。我用它來記錄和配置給定的伺服器層/類(dev/stage/prod)。

如果您擅長編寫腳本,則可以以程式方式打開每個 SSIS 包並更改日誌記錄提供程序,但這不適合膽小的人。我不相信我在網上有該程式碼,但如果你非常絕望,請通過評論聯繫我,我會看看我是否能找到那個硬碟。

引用自:https://dba.stackexchange.com/questions/122692