如何定时执行SSIS包


在SQL SERVER2005中,创建一个SSIS包后,你想创建一个任务并定时运行。
这个时候你可能会遇到错误。
原因是:
SQL2005与SQL2000有很大的不同,在SQL2000中你创建任务并执行不会出现什么问题。
在SQL2005中,你需要通过安全层来运行任务。
sql任务运行环境:
1.任务执行帐号需要使用以下角色 “sysadmin,  SQLAgentUserRole, SQLAgentReaderRole,  SQLAgentOperatorRole ”。
2.任务需要运行在代理帐号下。
3.任务执行帐号最好被用来创建SSIS包并且你要确定这个任务执行帐号有权限运行SSIS包。


实现步骤:

我们使用Server Management Studio来执行下面任务并且你要使用sa用户登录。

1.创建一个执行帐号

创建一个“devlogin”的用户登录,输入密码,可以选择目标数据库(默认master)

服务器角色选择“sysadmin”
用户映射:你的目标数据库
Msdb database: 确认包含下面角色  SQLAgentUserRole, SQLAgentReaderRole,  SQLAgentOperatorRole .

2.创建代理帐号并将代理帐号绑定到执行帐号。

下面是具体代码并且在查询分析器中执行。


Use master
--创建凭据,标识 windows帐号,密码
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'

3.创建SSIS包。
 

4.创建任务,定时并执行任务。

步骤类型:SSIS包

使用代理帐号: myProxy执行。

 

原文地址:https://www.cnblogs.com/yg_zhang/p/949022.html