如何使用 SQL Server 代理自动执行 SSIS 包(SQL Server 视频)

适用于:Microsoft SQL Server Integration Services

作者:Carla Sabotta,Microsoft Corporation

时长:00:10:11

大小:8.22 MB

类型:WMV

观看此视频

相关帮助主题:

如何运行包

如何创建 SQL Server 代理作业 (Transact-SQL)

如何修改代理 (SQL Server Management Studio)

如何创建 SQL Server 代理的代理帐户 (Transact-SQL)

如何修改 SQL Server 代理的代理帐户 (Transact-SQL)

如何创建凭据 (SQL Server Management Studio)

如何计划作业 (SQL Server Management Studio)

dtexec 实用工具

Integration Services 服务

以编程方式加载和运行远程包

其他视频:

故障排除:使用 SQL Server 代理执行 SSIS 包(SQL Server 视频)

示例:

dtexecRemote

视频摘要

这个视频演示以下内容:

  • 如何创建一个代理帐户,这个帐户在 SQL Server 代理中将 Integration Services 包作为一个作业步骤运行。
  • 如何创建作业和作业步骤。
  • 如何计划运行作业的时间。

视频脚本

视频时间戳 音频

00:00

您好,我叫 Carla Sabotta,负责编写 Microsoft SQL Server Integration Services 产品的文档。

在这一视频中,我将向您演示如何配置 SQL Server 代理以自动执行 SQL Server Integration Services 包。

您将了解如何创建将包作为 SQL Server 代理作业步骤运行的代理帐户,如何创建作业和作业步骤,以及如何创建用于运行作业的计划。

将 SQL Server 代理配置为运行包的第一步是打开 SQL Server Management Studio 并连接到 SQL Server 数据库引擎。

将包作为作业步骤运行的帐户必须与直接运行包的帐户具有所有相同的权限,以便访问该包需要访问的任何外部资源。否则,作业将不运行。

可以使用现有 SQL Server 代理服务帐户或创建 SQL Server 代理的代理帐户来将包作为作业步骤运行。

在演示中,我们将创建一个代理帐户。

01:13

若要创建代理帐户,您必须是 sysadmin 固定服务器角色的成员。或者,您必须是 msdb 数据库中 SQLAgentOperatorRole、SQLAgentReaderRole 或 SQLAgentUserRole 的成员。

您可以通过运行 Transact-SQL 查询或使用 SQL Server Management Studio 中的“新建代理帐户 (New Proxy Account)”对话框来创建代理帐户。我们将使用“新建代理帐户 (New Proxy Account)”对话框。

“常规 (General)”页上,为新的代理帐户指定名称和凭据。我们将这个帐户命名为 Package proxy,并选择一个名为 User1 的现有凭据,其中包含身份验证信息。

请记住,所选凭据必须能够让 SQL Server 代理以创建该包的帐户或具有所需权限的帐户运行该作业。

还需要指定为其启用代理的子系统。此处所列的每个子系统均由一个作业步骤类型表示。

因为我们在配置作业步骤时将选择“SQL Server Integration Services 包 (SQL Server Integration Services Package)”类型,所以,对于代理帐户,我们选择“SQL Server Integration Services 包 (SQL Server Integration Services Package)”子系统。

代理说明是可选项。

“主体 (Principals)”页上,您可以添加或删除角色以便向代理帐户授予访问权限。sysadmin 固定服务器角色的成员具有自动分配的访问权限。

我们为代理帐户指定的 User1 凭据在对象资源管理器中的“凭据 (Credentials)”节点下列出。

03:27

您可以通过运行 Transact-SQL 查询或使用“新建凭据 (New Credentials)”对话框来创建新凭据。

现在,您已经创建了代理帐户,因而可以创建作业并为您要运行的包添加步骤了。若要运行多个包,应为每个包创建一个步骤。

在可以创建作业之前,SQL Server 代理服务必须正在运行。如果这个图标出现在对象资源管理器树中 SQL Server 代理旁边,则表示这项服务处于禁用状态。在这种情况下,右键单击 SQL Server 代理节点以重新启动这项服务。

04:17

您可以通过调用存储过程或使用“新建作业 (New Job)”对话框来创建作业和作业步骤。我们将使用“新建作业 (New Job)”对话框。

首先,在该对话框的“常规 (General)”页上配置作业属性。您需要指定作业的名称,并确认所有者和类别设置准确无误。另外,您可以选择提供作业说明。

我们将这个作业命名为 Integration Services Package,并接受其他默认设置。并且,我们将选中“启用 (Enabled)”复选框,以确保可以计划运行作业的时间。

05:01

接下来,在“步骤 (Steps)”页上添加一个作业步骤,然后配置属性。

我们将作业步骤命名为 Basic package。因为我们正在使用系统自动调用的 dtexec 实用工具版本来运行包,所以,我们将选择“SQL Server Integration Services 包 (SQL Server Integration Services Package)”类型。

当作业运行时,根据计算机处理器,系统将自动调用这个实用工具的 32 位版本或 64 位版本,并且计算机上正在运行相应的 SQL Server 和 SQL Server 代理版本。

在演示中,32 位计算机上正在运行 SQL Server 代理和 SQL Server 的 32 位版本。因此,将调用这个实用工具的 32 位版本。

在安装了 64 位版本的 SQL Server 和 SQL Server 代理的 64 位计算机上,您可以选择调用该实用工具的 32 位版本。只需在“执行选项 (Execution options)”选项卡上选择“使用 32 位运行时 (Use 32 bit runtime)”。这是 SQL Server 2008 中的一项新功能。

“运行身份 (Run as)”列表中,我们将选择前面创建的代理帐户,这一帐户将包作为 SQL Server 代理作业步骤运行。

接着,在“常规 (General)”选项卡上选择包源,这个源可以是 SQL Server、“SSIS 包存储区 (SSIS Package Store)”或“文件系统 (File System)”。在演示中,包存储在文件系统中。

06:54

您可以选择为作业步骤指定若干命令行选项,如添加配置文件、更新数据源连接字符串以及添加日志提供程序。

我们将添加日志提供程序,以便使用包中的连接管理器将事件的日志条目写入 SQL Server 数据库中。DestinationConnectionOLEDB 连接管理器连接到 AdventureWorks2008 SQL Server 数据库。

07:38

现在,您已经创建了 SQL Server 代理作业并添加了作业步骤,因而可以计划运行作业的时间了。您可以选择一个现有计划或创建一个新计划。

您需要指定计划名称以及运行作业的时间和频率。我们将计划命名为 Integration Services Package Schedule,并将作业配置为每天下午 5 点运行一次,直至月底。

若要启用这个计划,确保选中“启用 (Enabled)”复选框。

系统现在将使用我们创建用来运行该作业的代理帐户,按照设定的计划自动执行该包。

08:59

您还可以在该计划指定的时间范围之外的任何时间运行作业,下面我们将执行该过程。因为我们创建的作业只包含一个作业步骤,所以作业将立即启动;否则,我们将需要选择开始这个作业的步骤。

正如您所看到的那样,这个作业成功地执行了该包。

您可以使用 SQL Server 代理来执行存储在本地计算机上的包,这正是我们在演示中执行的过程;您也可以执行存储在其他计算机上的包。请记住,无论包存储在什么位置,它都将与调用该包的 SQL Server 代理在同一台计算机上运行。

这个视频演示了如何创建将包作为 SQL Server 代理作业步骤运行的代理帐户,如何创建作业和作业步骤,以及如何创建用于运行作业的计划。

感谢您观看这个视频。希望它对您有所帮助,欢迎您返回网站查看其他 Microsoft SQL Server 视频。