Eintauchen in die Funktionalität von sp_reset_connection im SQL Server-Verbindungspooling
SQL Server verwendet Verbindungspooling, um Datenbankverbindungen effizient zu verwalten. Im Mittelpunkt dieses Mechanismus steht die gespeicherte Prozedur sp_reset_connection, die aufgerufen wird, wenn Verbindungen aus dem Pool wiederverwendet werden. Sein Hauptziel besteht darin, den Status der Verbindung zurückzusetzen, um die Bereitschaft für die spätere Verwendung sicherzustellen.
Umfassendes Zurücksetzen
sp_reset_connection setzt verschiedene Aspekte einer Verbindung zurück, darunter:
- Fehlerzustände und -nummern
- Ausführungskontexte (ECs)
- Ausstehende E/A-Vorgänge
- Gehaltene Serverpuffer
- Gesperrte Pufferressourcen
- Von der Verbindung zugewiesener Speicher
- Temporär Tabellen
- Globale Cursor
- Open SQL-XML Handles und zugehörige Arbeitstabellen
- System- und Benutzertabellen
- Temporäre Objekte
- Offene Transaktionen
- Verteilte Transaktionseintragungen
- Gemeinsame Datenbanksperren
- Erworben Sperren
- Handles
- SET-Optionen
- @@rowcount
- @@identity
- Trace auf Sitzungsebene Optionen
Ausschlüsse
Sp_reset_connection vermeidet jedoch ausdrücklich das Zurücksetzen von:
- Sicherheitskontext, der für die Zuordnung von Verbindungen basierend auf entscheidend ist die Verbindungszeichenfolge
- Anwendungsrollen, da sie nicht sein können zurückgesetzt
- Transaktionsisolationsstufe
Praktische Auswirkungen
- Über sp_setapprole eingerichtete Anwendungsrollen bleiben in Kraft.
- Transaktionen müssen explizit von der Anwendung verwaltet werden, da sp_reset_connection nicht zurückgesetzt wird sie.
- Verlassen Sie sich nicht darauf, dass SET-Optionen bei der Wiederverwendung von Verbindungen erhalten bleiben, da sie auf ihre Standardeinstellungen zurückgesetzt werden.
Das obige ist der detaillierte Inhalt vonWie setzt sp_reset_connection SQL Server-Verbindungen zurück und welche Auswirkungen hat es nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn