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!