En SSIS (SQL Server Integration Services) podemos utilizar dos tipos de componentes o tareas para ejecutar sentencias SQL: Ejecutar SQL (Execute SQL) y Ejecutar instrucción T-SQL (Execute T-SQL statement). A simple vista la diferencia entre ambas es clara, el término T-SQL indica que la tarea ejecuta una query en Transact-SQL, que es una extensión SQL desarrollada por Microsoft y Sybase, y que utilizan los gestores de bases de datos desarrollados por la primera: la familia de SQL Server. Llegados a este punto, te preguntarás ¿y qué diferencia hay entre ambas?.
La tarea Ejecutar instrucción T-SQL consume menos memoria, tarda menos tiempo en compilar y reduce el tiempo de CPU necesario para procesarla, sin embargo, no es tan flexible como Ejecutar SQL.
Panel de propiedades de la tarea Ejecutar Instrucción T-SQL (Execute T-SQL Statement)
La tarea Execute SQL permite conectarnos a multitud de tipos de conexión distintos, mientras que T-SQL nos limita a ADO.NET; nos permite ejecutar queries parametrizadas, utilizar expresiones y variables creadas en SSIS o guardar el resultado de la ejecución en una o varias variables. Si no utilizas variables o parámetros en tus paquetes SSIS y tu base de datos es SQL Server, lo ideal es utilizar la tarea de T-SQL por agilidad y rapidez.
Panel de propiedades de la tarea Ejecutar SQL (Execute SQL)