0
我有一个相对较大的系统运行Rails和TinyTds(使用FreeTds的SQLServer数据库适配器)。问题是,我每天收到大约200封电子邮件,说我的请求超时或死锁。TinyTDS超时和死锁LOT
[Exception] application#index (ActionView::Template::Error) "TinyTds::Error: Adaptive Server connection timed out: EXEC sp_executesql
它们总是发生在不同的动作上。
A ActiveRecord::DeadlockVictim occurred in transportes#importacao:
TinyTds::Error: Transaction (Process ID 276) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
我不知道为什么它超时这么多,并且一直在用这些电子邮件挣扎近2个月。 我已经尝试更新宝石版本,FreeTds的Linux二进制文件,没有任何帮助。
目前使用Ruby 1.9.3-P484,Rails的3.2.16和0.6.2 TinyTds
谁能给我就如何解决这一一些见解?
你将不得不看看sql服务器,看看发生了什么。您有查询/进程在不同的事务中争用同一个表。 – Doon 2015-03-05 18:26:33
我约有200人在我的系统上同时登录30个不同的表格。对于他们所有人,我打开交易做数据库上的东西。他们每个人都有自己的交易。这不应该是一个问题。你通常不更新同一行,或者删除正在更新的行。关于如何在SQLServer上搜索奇怪的想法? – renatojf 2015-03-05 18:41:04
可能会帮助https://technet.microsoft.com/en-us/library/ms178104(v=sql.105).aspx – Doon 2015-03-05 18:58:31