Delen via


Contextverbindingen versus reguliere verbindingen

van toepassing op:SQL Server-

Als u verbinding maakt met een externe server, gebruikt u altijd normale verbindingen in plaats van contextverbindingen. Als u verbinding wilt maken met dezelfde server waarop de opgeslagen procedure of functie wordt uitgevoerd, gebruikt u de contextverbinding in de meeste gevallen. Deze methode heeft voordelen, zoals het uitvoeren in dezelfde transactieruimte, en hoeft niet opnieuw te worden geverifieerd.

Daarnaast leidt het gebruik van de contextverbinding doorgaans tot betere prestaties en minder resourcegebruik. De contextverbinding is een in-process-only-verbinding, zodat deze rechtstreeks de server kan door het netwerkprotocol en de transportlagen te omzeilen om Transact-SQL instructies te verzenden en resultaten te ontvangen. Het verificatieproces wordt ook overgeslagen. In de volgende afbeelding ziet u de primaire onderdelen van de SqlClient beheerde provider en hoe de verschillende onderdelen met elkaar communiceren wanneer u een normale verbinding gebruikt versus de contextverbinding.

diagram van codepaden van een context en een normale verbinding.

De contextverbinding volgt een korter codepad en omvat minder onderdelen, zodat u aanvragen en resultaten sneller van en naar de server kunt verwachten dan in een normale verbinding. De uitvoeringstijd van query's op de server is hetzelfde voor context en reguliere verbindingen.

Er zijn enkele gevallen waarin u mogelijk een afzonderlijke normale verbinding met dezelfde server moet openen. Er zijn bijvoorbeeld bepaalde beperkingen voor het gebruik van de contextverbinding, zoals beschreven in Beperkingen voor contextverbindingen en reguliere verbindingen.