2011-09-07 107 views
0

我有SSIS包執行幾分鐘。它將數據複製到我的PROD數據庫。包從Sql Server作業啓動。我想在執行軟件包期間讓我的網站脫機。如何在執行前關閉我的網站,然後自動打開它?從SSIS包中託管在IIS上的網站的翻轉

我使用Sql Server 2008和IIS6。

感謝

回答

2

這裏是一個可能的選擇:

Within the SSIS package

  • 創建一個名爲StopWebsite.bat使用以下命令的批處理文件:

    iisreset /stop computername

  • 創建名爲StartWebsite.bat用下面的命令另一批處理文件:

    iisreset /start computername

  • 在SSIS包,放置一個執行進程任務在控制流選項卡。從執行進程任務調用第一批文件StopWebsite.bat。這將停止Internet信息服務(IIS)。

  • 將所有其他任務放在第一個執行進程任務之後。

  • 在控制流選項卡中的所有其他任務完成後,將另一個執行進程任務。調用第二批文件StartWebsite.bat。這將啓動IIS。

  • 請注意,您需要將批處理文件放置在SSIS包可以從生產環境訪問它們的位置。

Within the SQL Server job

  • 如果你不想做這個SSIS包。您需要在您的SQL Server作業中有三個步驟。

  • 步驟1將執行命令iisreset /stop computername類型的作業操作系統(CmdExec)

  • 步驟2將調用SSIS包。

  • 步驟3如果遇到權限問題會執行命令iisreset /start computername式操作系統(CmdExec)的工作

  • ,確保賬戶(通常是SQL Server代理帳戶)在其中正在執行該步驟有權重新啓動遠程服務器上的IIS。您也可以嘗試使用代理帳戶,將使用的域帳戶憑據,在following link截圖 - 介紹如何創建作業類型SSIS包執行代理帳戶。您可能需要在操作系統(CmdExec)作業類型上執行類似操作。 How do I create a step in my SQL Server Agent Job which will run my SSIS package?

替換computername與實際的計算機名或您的網站託管的機器的IP地址。

我會說選項#2更容易維護。

希望有所幫助。

+0

謝謝。如果我不想停止整個IIS,但只是需要應用程序拉? – Egor4eg