As others have suggested, using airflow to orchestrate stored procs
directly (or to build sql statements and execute them) is a nice pattern
that you could use to ultimately get rid of SSIS.

However if you have legacy jobs that need to stay running as is, and you
just want to orchestrate them from airflow, one approach you can use is to
trigger sqlagent jobs from airflow.  In case it is helpful you can kick off
the sqlagent job using odbc like so:

def execute(self, context):
    cmd = f"execute msdb.dbo.sp_start_job '{self.job_name}'"
    hook = OdbcHook()
    with closing(hook.get_conn()) as conn:
        cur = conn.cursor()
        cur.execute(cmd)

Reply via email to