Si vous avez besoin de faire du FTP à partir de la base de données, j'opterais pour un assemblage .NET comme Kevin l'a suggéré. Cela fournirait le plus de contrôle sur le processus, et vous seriez en mesure de consigner des messages d'erreur significatifs dans une table pour les rapports.
Une autre option serait d'écrire une application en ligne de commande qui lit la base de données pour que les commandes s'exécutent. Vous pouvez ensuite définir une tâche planifiée pour appeler cette application de ligne de commande toutes les minutes ou quelle que soit la période d'interrogation nécessaire. Ce serait plus sûr que d'activer la prise en charge du CLR dans le serveur de base de données.