应重试的SQL Server错误列表?

Chr*_*ris 5 sql-server ado.net data-access-layer

是否有自动重试有意义的SQL Server存储过程错误的简明列表?显然,重试"登录失败"错误没有意义,但重试"超时"确实如此.我认为指定哪些错误重试可能比指定哪些错误不重试更容易.

那么,除了"超时"错误之外,还有哪些其他错误适合自动重试?

谢谢!

Pen*_*puu 4

您应该重试(重新运行)整个事务,而不仅仅是单个查询/SP。至于重试的错误,我一直在使用以下列表:

DeadlockVictim = 1205,
SnapshotUpdateConflict = 3960,
// I haven't encountered the following 4 errors in practice
// so I've removed these from my own code:
LockRequestTimeout = 1222,
OutOfMemory = 701,
OutOfLocks = 1204,
TimeoutWaitingForMemoryResource = 8645,
Run Code Online (Sandbox Code Playgroud)

最重要的当然是“死锁受害者”错误1205。