Sql-Server

Unix 和触發 MS SQL Server 集成服務作業

  • August 27, 2009

我們有一個包含大量數據的 AIX 伺服器,我們每晚一次將這些數據轉儲到 CSV 以導入 MS SQL Server 以進行報告。

目前,流程中的每個步驟都沒有關聯,只是定時觸發 - 例如,AIX 系統上的 CSV 轉儲流程從凌晨 3 點開始,需要 $x 的時間才能完成,然後是 MS SQL Server集成服務工作從早上 6 點開始。

因此,流程中內置了很多“死區時間”,最好消除這些“死區時間”。

那麼,有什麼方法可以從 Unix 系統觸發 SQL Server Integration Services 作業?

您可以使用freeTDS(或jTDS,如果您使用名為 java 的東西)讓您可以從 Unix/AIX 訪問您的 sql 伺服器。

從 FreeTDS,您可以針對 SQL Server 進行身份驗證並執行您喜歡的任何 T-SQL。您可以通過呼叫駐留在 MSDB 中的 sproc sp_start_job 按名稱或 job_id 啟動作業來“觸發”SSIS 作業。

一個簡單的方法是輪詢。如果您在 ssis 數據包的開頭添加元素“如果 csv 文件存在,則導入 csv 文件”,您可以安排數據包每一刻鐘執行一次。

引用自:https://serverfault.com/questions/54131