Was ist der Unterschied zwischen einer Verbindung und einer Sitzung?


51

Was ist der Unterschied zwischen einer Verbindung und einer Sitzung und wie hängen sie zusammen?

Antworten:


54

Die Verbindung ist der physische Kommunikationskanal zwischen SQL Server und der Anwendung: der TCP-Socket, die Named Pipe und der gemeinsam genutzte Speicherbereich. Die Sitzung in SQL Server entspricht der Wikipedia-Definition einer Sitzung : einem semipermanenten Zustandscontainer für einen Informationsaustausch. Mit anderen Worten : die Sitzungen speichern Einstellungen wie Cache Ihrer Login - Informationen, aktuelle Transaktionsisolationsstufe, Session - Ebene SETWert etc etc.

Normalerweise gibt es eine Sitzung für jede Verbindung, es kann jedoch mehrere Sitzungen für eine einzelne Verbindung geben ( Multiple Active Result Sets , MARS) und es gibt Sitzungen ohne Verbindung ( SSB-aktivierte Prozeduren , Systemsitzungen ). Es gibt auch Verbindungen ohne Sitzungen, d. H. Verbindungen, die für Nicht-TDS-Zwecke verwendet werden, z. B. Datenbankspiegelung sys.dm_db_mirroring_connectionsoder Service Broker-Verbindungen sys.dm_broker_connections.


(überwältigendes Rauschen) Wenn Sie feststellen, dass SSMS MARS und daher unterschiedliche Sitzungen auf jeder Registerkarte für geöffnete Dateien #tempverwendet, können Tabellen nicht in verschiedenen Registerkarten für geöffnete Dateien abgelegt oder ausgewählt werden, da sie einen Sitzungsbereich haben.
GibralterTop

4
  • Die Verbindung steht für die Verbindung zum Server über ein Netzwerk oder lokal über den gemeinsam genutzten Speicher.

  • Eine Sitzung repräsentiert einen Benutzerprozess in SQL Server.

  • Eine Verbindung kann mit null oder mehr als einer Sitzung verknüpft sein.


3

Sie können die dynamischen Verwaltungsansichten von sys.dm_exec_sessions abfragen, um Informationen zu erfolgreichen und nicht erfolgreichen Anmeldungen zu erhalten, wenn die Kompatibilität mit allgemeinen Kriterien für eine SQL Server 2012-Instanz aktiviert ist.

Die dynamische Verwaltungsansicht sys.dm_exec_connections enthält Informationen zu Verbindungen, die mit der Datenbankmodulinstanz hergestellt wurden. Sie können in dieser dynamischen Verwaltungsansicht keine Informationen zu erfolgreichen und fehlgeschlagenen Anmeldungen abfragen, wenn die Kompatibilität mit allgemeinen Kriterien für eine SQL Server 2012-Instanz aktiviert ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.