Procédures stockées étendues
Important
Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt l'intégration CLR.
Les procédures stockées étendues vous permettent de créer vos propres routines externes dans un langage de programmation comme le langage C. Elles apparaissent aux utilisateurs comme des procédures stockées normales et s'exécutent de la même façon. Des paramètres peuvent être passés à des procédures stockées étendues qui retournent des résultats et un état.
Les procédures stockées étendues sont des bibliothèques de liens dynamiques (DLL) que SQL Server peut charger et exécuter dynamiquement. Elles s'exécutent directement dans l'espace d'adressage d'une instance de SQL Server et sont programmées au moyen de l'API Procédure stockée étendue de SQL Server.
Notes
Les procédures stockées étendues ne doivent pas être utilisées pour instancier le CLR (Common Language Runtime) de Microsoft .NET Framework ou pour exécuter le code managé. Ce scénario ne sera plus pris en charge dans les versions ultérieures de SQL Server. L'intégration CLR constitue une alternative robuste et sûre pour l'écriture des procédures stockées étendues.
Une fois que la procédure stockée est écrite, les membres du rôle de serveur fixe sysadmin peuvent enregistrer la procédure stockée étendue avec l'instance de SQL Server, puis octroyer à d'autres utilisateurs l'autorisation d'exécuter la procédure. Les procédures stockées étendues ne peuvent être ajoutées qu'à la base de données master.
Notes
Les procédures stockées étendues peuvent produire des fuites de mémoire ou d'autres problèmes qui réduisent les performances et la fiabilité du serveur. Il est préférable de stocker les procédures stockées étendues dans une instance de SQL Server distincte de celle qui contient les données de référence et d'utiliser des requêtes distribuées pour accéder à la base de données. Pour plus d'informations, consultez Requêtes distribuées.
Sécurité
Avant d'ajouter des procédures stockées étendues au serveur et d'octroyer à d'autres utilisateurs l'autorisation de les exécuter, il est conseillé à l'administrateur système de revoir chaque procédure stockée étendue afin de s'assurer qu'elle n'intègre aucun code nuisible ou malveillant.
Les autres instructions de sécurité sont les suivantes :
valider toutes les entrées utilisateur ;
ne pas concaténer les entrées utilisateur avant de les avoir validées ;
ne jamais exécuter une commande élaborée à partir d'entrées utilisateur non validées. Pour plus d'informations, consultez Injection SQL.
Voir aussi