65.9K
CodeProject 正在变化。 阅读更多。
Home

如何计划和运行 SQL Server 2005 中的 SSIS 包 (DTS) 作业

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.97/5 (19投票s)

2006年6月9日

2分钟阅读

viewsIcon

526134

如何计划和运行 SQL Server 2005 中的 SSIS 包 (DTS) 作业

引言

如何调度和运行 SSIS 包 (DTS) 作业

 

在 SQL Server 2005 中,创建 SSIS 包 (DTS) 后,您想创建一个作业并安排其运行。您可能会遇到阻止您运行作业的错误。问题是什么?

 

原因如下:SQL Server 2005 与 SQL Server 2000 非常不同。在 SQL Server 2000 中,您可以创建作业并运行它而不会出现问题。在 SQL Server 2005 中,您需要通过安全层才能运行作业。

 

逻辑如下:

Ø      作业执行帐户需要 sysadmin、SQLAgentUserRole、SQLAgentReaderRole 和 SQLAgentOperatorRole 角色。

Ø      作业需要在代理帐户下运行。

Ø      最好使用作业执行帐户来创建 SSIS 包,这样您可以确保作业执行帐户有权运行此 SSIS 包。

 

您可以按照以下步骤完成作业。

工作环境为 MS SQL Server Management Studio,您以 sa 身份登录。

 

一、创建作业执行帐户

突出显示“安全”->“新建登录名”,例如创建名为 devlogin 的登录名,输入您的密码,默认数据库可以是您的目标数据库。

服务器角色:选中“sysadmin

用户映射:您的目标数据库

Msdb 数据库:确保包含 SQLAgentUserRole、SQLAgentReaderRole 和 SQLAgentOperatorRole

然后单击“确定”

 

二、创建 SQL 代理帐户并将代理帐户与作业执行帐户关联

以下是代码,请在查询窗口中运行。

 

Use master

CREATE CREDENTIAL [MyCredential] WITH IDENTITY = 'yourdomain\myWindowAccount', secret = 'WindowLoginPassword'

Use msdb

Sp_add_proxy @proxy_name='MyProxy', @credential_name='MyCredential'

Sp_grant_login_to_proxy @login_name='devlogin', @proxy_name='MyProxy'

Sp_grant_proxy_to_subsystem @proxy_name='MyProxy', @subsystem_name='SSIS'

 

三、创建 SSIS 包

在 MS SQL Server Business Intelligence Development Studio 中,使用作业执行帐户 devlogin 创建 SSIS 包 (DTS),并确保您可以在 SQL Server Business Intelligence Development Studio 中执行此包。编译/构建此包。

 

四、创建作业、安排作业并运行作业

在 SQL Server Management Studio 中,突出显示 SQL Server 代理 -> 开始。突出显示作业 -> 新建作业…,将其命名为 myJob。

在步骤下,新建步骤,将其命名为 Step1。

类型:SQL Server 集成服务包

以…运行:myProxy

包源:文件系统

浏览以选择您的包文件 xxx.dtsx

点击“确定”

安排您的作业并启用它

 

现在您可以运行您的作业了。

 

如果您觉得这非常有用,请留下您的在线评论。如果您有任何问题或建议,请通过电子邮件联系我:hong_wei_li@yahoo.com.

 

祝您 SQL 愉快!

 

- 李宏伟

 

 

 

© . All rights reserved.