Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应该允许哪些SQL错误代码重试?_C#_Error Handling_Sql Server 2014_High Availability - Fatal编程技术网

C# 应该允许哪些SQL错误代码重试?

C# 应该允许哪些SQL错误代码重试?,c#,error-handling,sql-server-2014,high-availability,C#,Error Handling,Sql Server 2014,High Availability,我们有一个SQL Server 2014 AlwaysOn可用性组,通过标准C#SqlConnection对象连接到该组。我们希望捕获手动或自动触发故障转移时发生的异常,并在等待一段时间后重试该命令 我们不仅要重试每个失败的命令,还要重试由于故障转移而失败的事务 Microsoft是否提供了一个我们可以检查的错误代码列表(或是否在某处有列表?这是针对ms sql 2000的,但“错误级别”可能是相同的。我希望它能帮助你 编辑: 以下是有关msdn中错误级别的文档:(sql2014) 微软已经为

我们有一个SQL Server 2014 AlwaysOn可用性组,通过标准C#
SqlConnection
对象连接到该组。我们希望捕获手动或自动触发故障转移时发生的异常,并在等待一段时间后重试该命令

我们不仅要重试每个失败的命令,还要重试由于故障转移而失败的事务


Microsoft是否提供了一个我们可以检查的错误代码列表(或是否在某处有列表?

这是针对ms sql 2000的,但“错误级别”可能是相同的。我希望它能帮助你

编辑:

以下是有关msdn中错误级别的文档:(sql2014)

微软已经为Azure once构建了一个瞬态错误检测策略,用于瞬态故障处理应用程序块

瞬态故障处理应用程序块(Topaz)通过提供处理瞬态故障的逻辑,使应用程序更加健壮。它有两种方式

首先,该模块包括以检测策略的形式识别多个基于云的公共服务的瞬时故障的逻辑。这些检测策略包含能够识别特定异常是否可能由瞬态故障条件引起的内置知识

他们已经识别出指示暂时故障的sql错误代码。虽然它是针对云的(针对Azure Sql Server),但我们已经成功地在我们自己的内部部署环境中使用了它

您可以查看他们的代码并提取您可以检查的sql代码: