Share via


Caractéristiques d'exécution des 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 modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt l'intégration du CLR.

L'exécution d'une procédure stockée étendue présente les caractéristiques suivantes :

  • La fonction de procédure stockée étendue est exécutée sous le contexte de sécurité de MicrosoftSQL Server.

  • La fonction de procédure stockée étendue s'exécute dans l'espace de processus de SQL Server.

  • Le thread associé à l'exécution de la procédure stockée étendue est le même que celui utilisé pour la connexion cliente.

    Remarque relative à la sécuritéRemarque relative à la 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.

Après avoir été chargée, la DLL de procédure stockée étendue reste chargée dans l'espace d'adressage du serveur jusqu'à ce que SQL Server soit arrêté ou que l'administrateur décharge explicitement la DLL en utilisant DBCC DLL_name (FREE).

La procédure stockée étendue peut être exécutée à partir de Transact-SQL comme procédure stockée à l'aide de l'instruction EXECUTE :

EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT

Paramètres

  • @ retval
    Valeur de retour.

  • @ param1
    Paramètre d'entrée.

  • @ param2
    Paramètre d'entrée/sortie.

    AttentionAttention

    Les procédures stockées étendues offrent une amélioration des performances et étendent les fonctionnalités SQL Server. Toutefois, comme la DLL de procédure stockée étendue et SQL Server partagent le même espace d'adressage, une procédure problématique peut affecter le fonctionnement de SQL Server de façon défavorable. Bien que les exceptions levées par la DLL de procédure stockée étendue soient gérées par SQL Server, il est possible d'endommager les zones de données SQL Server. À titre de mesure de sécurité, seuls les administrateurs systèmes SQL Server peuvent ajouter des procédures stockées étendues à SQL Server. Ces procédures doivent être testées entièrement avant d'être installées.