Welche Nachteile gibt es, eine SQL Connection offen zu lassen?

8

Das scheint eine einfache Frage zu sein, aber ich frage mich die Nachteile, die Funktion "close ()" nicht aufzurufen.

    
stckvrflw 26.01.2010, 12:57
quelle

6 Antworten

6

Abgesehen davon, dass Sie den Verbindungspool erschöpft haben (wie es die meisten Antworten bisher waren), besteht die Gefahr, dass Daten gesperrt werden.

Wenn Sie eine Tabelle lesen oder in eine Tabelle schreiben, führt eine Sperrsemantik dazu, dass bestimmte Zeilen an andere Verbindungen gebunden werden. Dies gilt insbesondere, wenn Sie eine offene Transaktion für die Verbindung haben.

Lese- und Schreibvorgänge können dann fehlschlagen und die Anwendung löst überall Ausnahmen aus.

Kurz gesagt, schließen Sie immer die Verbindung.

    
Oded 26.01.2010, 13:02
quelle
9

Früher oder später werden Sie auf den Fehler "Die maximale Verbindungslimit wurde erreicht" stoßen. Ich würde das als einen großen Nachteil bezeichnen.

    
Erich Kitzmueller 26.01.2010 12:58
quelle
1

Der Verbindungspool füllt sich und alle neuen Verbindungen warten auf eine neue Verbindung aus dem Pool.

    
bleeeah 26.01.2010 12:58
quelle
1

Jede Verbindung zu SQL Server erfordert Speicherzuweisung.

Je mehr Verbindungen Sie geöffnet haben, desto mehr Speicher wird verwendet und gehalten, was möglicherweise besser genutzt werden kann.

Wenn Sie wissen möchten, wie viel Speicher von Verbindungen in SQL Server verwendet wird, sehen Sie sich die folgende Referenz an.

Speicher, der von SQL Server-Objekten verwendet wird

    
John Sansom 26.01.2010 13:48
quelle
0

Eine Verbindung zum Datenbankserver ist offen. Angenommen, Sie haben 100 Programme, die auf denselben Server treffen ...

Sie sollten es auch entsorgen

    
Thanos Papathanasiou 26.01.2010 12:59
quelle
0

Schnelle einfache Antwort ist, dass je eher Sie schließen, desto früher kann die Verbindung vom Verbindungspool wiederverwendet werden.

    
Justin Wignall 26.01.2010 12:59
quelle