Sql-Server

允許輕鬆交換/安全/可訪問的數據庫連接的 SSIS 最佳實踐?

  • March 1, 2019

我來自 Pentaho PDI。

在那裡,我學會了讓腳本將數據載入到

$$ VariableDB $$. 這樣,我可以在執行時將 VariableDB 啟動為“ProdDB”,甚至可以暫時將變數設置為腳本中的不同 DB。

重點是,除非一些重大的體系結構發生變化,否則我不必經常檢查大量更改數據庫名稱的文件。

第二件事是安全。Pentaho 不是很好,但您至少可以將一些數據庫憑據儲存為加密格式,並且它們在 GUI 中被屏蔽。“策劃者”可以破解它,但無論如何他們都需要大量訪問權限。

SSIS — 嗯,它可能是相反的,也可能不是。我不希望以純文字形式儲存任何數據庫密碼。與此同時,我的前任離開了——我不知道憑據在哪裡。他們“噗”的一聲消失了——我不知道。如果 SSIS 腳本和作業在同一個 SQL DB 伺服器上執行,它們是否儲存在某個地方?我不知道。

他們是否已加密到他的使用者名,而現在他早已不在,無法恢復?

這不是那麼重要,因為我可以重新輸入數據庫憑據,但我期待著未來。

我知道可能有幾種方法可以做到這一點,但有什麼簡單的方法可以讓我有 5 個指向“TheFinanceDatabase”的包我可以輕鬆地換出數據庫主機伺服器、名稱、使用者、密碼等?

我認為它是配置文件和/或連接管理器——它們可以在同一個“項目?”中的包之間共享。也許“項目”可以在同一個“解決方案”中共享連接憑據/指針?只是想知道這裡 - 謝謝!

我想避免將來重新輸入/失去憑據。

當包部署到 SSIS 目錄並從環境中執行時,環境中的變數可用於儲存憑據,例如您提到的憑據,然後由包的連接管理器使用這些憑據。一旦環境變數的值發生變化,就會傳播到使用該變數的所有包。例如,如果您有一個名為“Server”的變數用作ServerName連接管理器的屬性,並且您將其更新為保存生產伺服器名稱而不是測試名稱,所有帶有此名稱的軟體包現在都將指向產品伺服器。此外,還可以為測試、開發、生產等創建環境,然後將包上的引用環境更新為指向不同的環境。這些變數也可以標記為敏感資訊,以保護密碼等資訊。如果您尚未安裝目錄 (SSISDB),我建議您這樣做。您可以在此處了解有關 SSIS 目錄的更多資訊。下面是配置連接管理器以引用環境變數的高級概述。

  • 右鍵點擊包(或項目)並選擇配置。然後在 References 窗格上按 Add 並選擇您創建的環境。
  • 仍然在“配置”頁面上,返回“參數”窗格,然後返回“連接管理器”選項卡。對於將要配置的連接管理器,通過點擊屬性旁邊的省略號從環境變數中選擇要設置的屬性,然後在顯示的下一個視窗中選擇適當的環境變數。
  • 執行從 SQL 代理引用環境的包時,請確保使用環境引用更新呼叫包的作業步驟。這可以通過轉到配置選項卡、選中環境複選框並選擇引用的環境來在作業步驟上完成。

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