Error 26073 - amire nem is gondolnánk

A héten több érdekes dologba is belefutottam ismét. Az SQL Server Error Log tele volt az alábbihoz hasonló hibákkal (amikről jött is az alert helyesen! lásd: itt)

The client was unable to reuse a session with SPID %i, which had been reset for connection pooling. The failure ID is 29. This error may have been caused by an earlier operation failing. Check the error logs for failed operations immediately before this error message.

Hmm, érdekes. Megint túl sok kapcsolat vagy a fejlesztők felejtették már megint lezárni a kapcsolatot (Connection.Close) :) ? Hát nem. Jobban megvizsgálva a logot, az alábbi hibaüzenet is feltünt:


TCP connection closed but a child process of SQL Server may be holding a duplicate of the connection's socket.  Consider enabling the TcpAbortiveClose SQL Server registry setting and restarting SQL Server. If the problem persists, contact Technical Support.

Jajj ne már :) Ez megint valami olyan dolog, amire megint nehezen találok majd magyarázatot. Ezúttal azonban szerencsém is volt ;)

Google mit mond? Nem túl sokat, de kb az alábbi tanácsokat:

  • Telepítsem az SQL Server 2008 R2 SP2 CU2-t.
  • állítgassak registry-t,
  • antivírus beállítás.

Na ne már. CU6-tól újabb a szerver, ez kiesett, nehogy már registry-t kelljen állítgatnom, ez nem hiszem, hogy ilyen hiba. Igazam is lett: az antivírus volt a ludas. Nem volt felvéve a kivételek közé az SQL Server által használt kiterjesztések. Miután ezt beállítottam, már nem tudtam reprodukálni a hibát.

Tanulság: ha kell is AV az SQL Server-re akkor legyenek bent a kivételek között az mdf, ldf, ndf kiterjesztések legalább.

A probléma megoldásához a http://dba.stackexchange.com/questions/51194/sql-server-2008-r2-drops-connections-when-anti-virus-scan-is-running fórumbejegyzés is sokat segített.

Comments (4) -

Azt azért nem igazán értem, hogy a connection poolingnak, meg úgy unblock a kliens oldali connection-nek mi köze van ahhoz, hogy a szerveren a a AV -ben fel van-e véve a kivétel az mdf ldf fájlkiterjesztésekre???

Nem a kliens oldalon, hanem a szerveren dobta a kapcsolatokat, ami már csak egy következmény egyébként. CU 2 nélkül ez még akár egy Non-Yielding scheduler hibára is futhat, de ezt most próbálom reprodukálni. Az AV exclusion list beállítással vagy épp nem beállításával pedig tudtam reprodukálni a hibát, ugyan azzal a workload-dal (értsd: lekérdezések és felhasználók száma).

Nem a kliens oldalra gondoltam, hogy úgy egyáltalán a connection-ökre.
Nekem ez akkor se áll össze, így akkor mi van .tuf, .log, .trc stb. kiterjesztésekkel, amiket szintén használ az SQL Server, ezekre is produkálja a hibát?

Jó a felvetés. Egyelőre azokat nem néztem, de úgy néz ki ez egy ismert hiba lesz Sophos AV esetén. Már beszélek egy escalation engineer-rel erről.

Add comment