Monday, February 1, 2010

Schedule and Run DTS Package in SQL 2005

How to Schedule and Run a SSIS package ( DTS ) Job in SQL Server 2005?

The logic is like this:
  • The job executor account needs the roles of sysadmin, SQLAgentUserRole, SQLAgentReaderRole, SQLAgentOperatorRole
  • The job needs to be run under Proxy account
  • The job executor account is better to be used to create SSIS package and so you are sure the job executor account has the right to run this SSIS package.
  1. Create job executor account
    Highlight Security -> New Login, say to make login as devlogin, type your password, default database can be your target database.
Server roles: check "sysadmin"
User mapping: your target database
Msdb database: you make sure to include SQLAgentUserRole, SQLAgentReaderRole, SQLAgentOperatorRole
Then click OK
II. Create SQL proxy account and associate proxy account with job executor account
Here is the code and run it the query window.
Use master
CREATE CREDENTIAL [MyCredential] WITH IDENTITY = 'yourdomain\myWindowAccount', secret = 'WindowLoginPassword'
Use msdb
exec Sp_add_proxy @proxy_name='MyProxy', @credential_name='MyCredential'
exec Sp_grant_login_to_proxy @login_name=' devlogin', @proxy_name='MyProxy'
exec Sp_grant_proxy_to_subsystem @proxy_name='MyProxy', @subsystem_name='SSIS'
III. Create SSIS package
In MS SQL Server Business Intelligence Development Studio, you use job executor account devlogin to create the SSIS package (DTS) and make sure you can execute this package in SQL Server Business Intelligence Development Studio. Compile/build this package.
IV. Create the job, schedule the job and run the job
In SQL Server Management Studio, highlight SQL Server Agent -> Start. Highlight Job ->New Job, name it , myJob.
Under Steps, New Step, name it, Step1,
Type: SQL Server Integration Service Package
Run as: myProxy
Package source: File System
Browse to select your package file xxx.dtsx
Click Ok
Schedule your job and enable it
Now you can run your job.


No comments: