Come schedulare e lanciare una SSIS package ( DTS ) Job

Un interessantissimo articolo da http://www.codeproject.com su come schedulare e lanciare una SSSIS Package in SQL SERVER 2005.

A me è stato molto utile, spero possa aiutare anche voi. Non c’è stato bisogno di tradurlo.. direi che è facile da capire.

 

In the SQL Server 2005, after you create a SSIS package ( DTS), you want to create a job and schedule to run it. You will get the error to prevent you to run the job. What is the problem?

 

Here is why: SQL Server 2005 is quite different from SQL Server 2000. In SQL Server 2000, you can create the job and run it without problem. In SQL Server 2005, you need to go through the security layer in order to run the job.

 

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.

 

The following steps can be followed to get the job done.

The work environment is MS SQL Server Management Studio and you log in as sa.

SQL SERVER

 

I. 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

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’

 

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.

 

Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.


Fabrizio Cannatelli

Autore e Founder di Informarea, sono un appassionato di informatica e tecnologia da sempre. La voglia di comunicare e di condividere sul Web le mie curiosità e le mie conoscenze, mi ha spinto a lanciarmi nel progetto di questo sito. Nato un po' per gioco e un po' per passione, oggi è diventato una grande realtà.

Fabrizio Cannatelli

Approfondimenti

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.