我們在rails 3.2.12(ruby 1.9.3)上運行ruby on rails應用程序,並使用當前tinyTDS gem 0.6.2。TinyTds錯誤:Adaptive Server連接超時
我們使用MS SQL 2012或2014,更通常然後面向以下錯誤消息:
TinyTds::Error: Adaptive Server connection timed out: EXEC sp_executesql [...]
數據庫自動關閉關閉。 TCP套接字超時是默認的Windows系統。
應用程序服務器在機器#1(Windows服務器)上,SQL服務器在機器#2(Windows服務器)上。
當我檢查連接(netstat)時,我已經爲大約20-30個用戶打開了250個連接。 我運行perform.exe來查看SQL服務器上數據和日誌磁盤的空閒時間。
database.yml有連接pool:32
和reconnect:true
。
對我來說,它看起來像tinyTDS失去了連接,並防止任何異常重新連接。
問題是,如何調試問題以找出問題所在?
UPDATE
我的錯誤,原來的錯誤消息屬於tinytDS 0.5.x.由於我更新到最新版本,我得到以下錯誤的補充或替代:
ActiveRecord::LostConnection (TinyTds::Error: DBPROCESS is dead or not enabled: BEGIN TRANSACTION):
另外,你編譯的FreeTDS版本是什麼? – MetaSkills 2014-12-05 12:54:40
例如,運行「tsql -C」將顯示系統在大多數情況下具有的功能。 – MetaSkills 2014-12-05 12:55:48
我沒有自己安裝tinyTDS,我在窗口上使用了「gem install tinytds」。 – YvesR 2014-12-06 14:32:39