SqlConfigurableRetryFactory 类

定义

提供具有常见暂时性错误的常见重试逻辑提供程序。

public ref class SqlConfigurableRetryFactory sealed
public sealed class SqlConfigurableRetryFactory
type SqlConfigurableRetryFactory = class
Public NotInheritable Class SqlConfigurableRetryFactory
继承
SqlConfigurableRetryFactory

注解

下表显示了内部暂时性错误列表。

错误号Description
1204 SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。 请在活动用户较少时重新运行该语句。 请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否有长时间运行的事务。
1205 事务(进程 ID)与另一个进程在资源上死锁,并被选为死锁受害者。 重新运行该事务。
1222已超过了锁请求超时时段。
49918无法处理请求。 没有足够的资源来处理请求。
49919 无法处理创建或更新请求。 对于订阅“%ld”,正在进行的创建或更新操作过多。
49920无法处理请求。 对于订阅“%ld”,正在进行的操作过多。
4060无法打开登录所请求的数据库 "%.*ls"。 登录失败。
4221 由于等待“HADR_DATABASE_WAIT_FOR_TRANSITION_TO_VERSIONING”的时间过长,登录以读取次要副本失败。 副本无法用于登录,因为在重新启动副本时,缺少当前正在进行的事务的行版本。 可以通过回滚或提交主要副本上的活动事务来解决此问题。 避免在主服务器上进行长时间的写入事务,可以将此状况的发生次数降到最低。
40143该服务在处理你的请求时遇到错误。 请重试。
40613 服务器“%.*ls”上的数据库“%.*ls”当前不可用。 请稍后重试连接。 如果问题仍然存在,请与客户支持人员联系,并向其提供“%.*ls”的会话追踪 ID。
40501服务当前正忙。 请在 10 秒钟后重试请求。 事件 ID:%ls。 代码:%d。
40540该服务在处理你的请求时遇到错误。 请重试。
40197该服务在处理你的请求时遇到错误。 请重试。 错误代码 %d。
10929 资源 ID:%d。 %s 最低保证为 %d,最大限制为 %d,数据库的当前使用情况为 %d。 但是,服务器当前太忙,无法支持此数据库的请求大于 %d。 有关详细信息,请参阅 https://learn.microsoft.com/azure/azure-sql/database/resource-limits-logical-server. 否则,请稍后重试。
10928 资源 ID:%d。 数据库的 %s 限制 %d 且已达到。 有关详细信息,请参阅 https://learn.microsoft.com/azure/azure-sql/database/resource-limits-logical-server.
10060 在建立与服务器的连接时出错。 在连接到 SQL Server 时,在默认的设置下 SQL Server 不允许远程连接可能会导致此失败。 (提供程序:TCP 提供程序,错误:0 - 连接方在一段时间后未正确响应连接尝试失败,或已建立的连接失败,因为连接主机未能响应。)(Microsoft SQL Server,错误:10060)
10054一列或多列的数据值溢出了提供程序所用类型的取值范围。
10053由于除符号不匹配和溢出之外的其他原因,未能转换数据值。
997 已成功与服务器建立连接,但在登录过程中发生错误。 (提供程序:命名管道提供程序,错误:0 - 正在进行重叠的 I/O 操作)
233 已成功与服务器建立连接,但在登录过程中发生错误。 (提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程。(Microsoft SQL Server,错误:233)

构造函数

名称 说明
SqlConfigurableRetryFactory()

提供具有常见暂时性错误的常见重试逻辑提供程序。

属性

名称 说明
BaselineTransientErrors

此列表可能会随时更改,因为基础实现发生更改,并且不会被视为中断性 API 更改。 应用程序不应依赖于包含任何特定错误代码的此列表。

方法

名称 说明
CreateExponentialRetryProvider(SqlRetryLogicOption)

提供指数时间间隔重试逻辑提供程序。

CreateFixedRetryProvider(SqlRetryLogicOption)

提供固定的时间间隔重试逻辑提供程序。

CreateIncrementalRetryProvider(SqlRetryLogicOption)

提供增量时间间隔重试逻辑提供程序。

CreateNoneRetryProvider()

使用返回的false提供程序提供不可重试的提供程序TransientPredicate

适用于