Sql-Server

防止訂閱報告在假期執行

  • December 4, 2014

我有一個用於建構和分發報告的 SQL Server。我已經建構了所有用於根據需要導入數據的包作為 SSIS 包。這些報告只需要在數據導入後執行。我已經建構了我的 SSIS 包,通過將日期與包含假期的表進行比較來檢查並確保這一天不是假期。這樣我的數據只在工作日導入。問題是,我的報告訂閱設置為在周一至週五的特定時間執行。如何在導入結束時以程式方式執行訂閱,使其僅在導入執行的日子執行,而不是在節假日執行?

已經建構了我的 SSIS 包,通過將日期與包含假期的表進行比較來檢查並確保這一天不是假期。

您可以將您的第一個工作步驟作為

IF EXISTS (SELECT 1 FROM HolidayTable WHERE Date = GETDATE())
 begin
  RAISERROR ('There is nothing to run as today is holiday !', 16, 1)
 end
else
  print 'The job can run .. as its a working day !'

第二步是僅當上述條件為 FALSE 時才執行 SSIS 包。如果根據您的 HOLIDAY 表,如果上面的步驟是真正的假期,那麼它應該默默地失敗。

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