Partager via


Restrictions sur les connexions contextuelles et les connexions régulières

S'applique à :SQL Server

Cet article décrit les restrictions associées au code s’exécutant dans le processus SQL Server via des connexions contextuelles et régulières.

Restrictions sur les connexions contextuelles

Lorsque vous développez votre application, prenez en considération les restrictions suivantes qui s'appliquent aux connexions contextuelles :

  • Vous ne pouvez avoir qu'une seule connexion contextuelle ouverte à tout moment pour une connexion donnée. Si plusieurs instructions s'exécutent simultanément dans des connexions séparées, chacune d'elles peut obtenir sa propre connexion contextuelle. La restriction n’affecte pas les demandes simultanées provenant de différentes connexions ; elle affecte uniquement une demande donnée sur une connexion donnée.

  • Plusieurs jeux de résultats actifs (MARS) ne sont pas pris en charge dans une connexion contextuelle.

  • La classe SqlBulkCopy ne fonctionne pas dans une connexion de contexte.

  • La mise à jour par lot dans une connexion de contexte n’est pas prise en charge

  • SqlNotificationRequest ne peut pas être utilisé avec des commandes qui s’exécutent sur une connexion de contexte.

  • L’annulation des commandes en cours d’exécution sur la connexion de contexte n’est pas prise en charge. La méthode SqlCommand.Cancel ignore silencieusement la requête.

  • Aucun autre mot clé de chaîne de connexion ne peut être utilisé lorsque vous utilisez context connection=true.

  • La propriété SqlConnection.DataSource retourne null si la chaîne de connexion de l'SqlConnection est context connection=true, au lieu du nom de l’instance de SQL Server.

  • La définition de la propriété SqlCommand.CommandTimeout n’a aucun effet lorsque la commande est exécutée sur une connexion de contexte.

Restrictions sur les connexions régulières

Lorsque vous développez votre application, prenez en considération les restrictions suivantes qui s'appliquent aux connexions normales :

  • L’exécution de commandes asynchrones sur des serveurs internes n’est pas prise en charge. L’inclusion de async=true dans la chaîne de connexion d’une commande, puis l’exécution de la commande, entraîne la levée de System.NotSupportedException. Ce message s’affiche :

    Asynchronous processing is not supported when running inside the SQL Server process.
    
  • SqlDependency objet n’est pas pris en charge.