【问题标题】:Turn of web site hosted on IIS from SSIS package从 SSIS 包转托管在 IIS 上的网站
【发布时间】:2011-09-07 08:29:47
【问题描述】:

我有执行几分钟的 SSIS 包。它将数据复制到我的 PROD 数据库。包从 Sql Server Job 启动。我想在执行包期间使我的网站脱机。如何在执行前关闭我的网站,然后自动重新打开?

我使用 Sql Server 2008 和 IIS6。

谢谢

【问题讨论】:

    标签: asp.net sql-server iis ssis


    【解决方案1】:

    这是一个可能的选择:

    Within the SSIS package

    • 使用以下命令创建一个名为 StopWebsite.bat 的批处理文件:

      iisreset /stop computername

    • 使用以下命令创建另一个名为 StartWebsite.bat 的批处理文件:

      iisreset /start computername

    • 在 SSIS 包中,将 执行流程任务 放置在“控制流”选项卡中。从 Execute Process 任务调用第一个批处理文件 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 屏幕截图中8 - 14 解释了如何在作业类型SSIS 包执行。您可能需要对操作系统 (CmdExec) 作业类型执行类似操作。 How do I create a step in my SQL Server Agent Job which will run my SSIS package?

    computername 替换为您的实际计算机名称或托管您网站的机器的 IP 地址。

    我会说选项 #2 更容易维护。

    希望对您有所帮助。

    【讨论】:

    • 谢谢。如果我不想停止整个 IIS 但只需要应用程序拉动怎么办?
    猜你喜欢
    • 2017-05-06
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 2015-08-16
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多