首页 > 解决方案 > Azure SQL Server 传输层错误 - 重试与否?

问题描述

我收到了使用 SQL Server 的传输级别错误。此异常似乎是网络故障,并在下一秒针对同一查询进行了修复。

Exception in SqlRetryStrategyExecutor System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)

我有一个重试执行程序来重试列入白名单的瞬态异常。此实例中引发的异常未列入白名单。以下是错误详情

Error Number:121,State:0,Class:20

来自微软链接 - https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/cc645611(v=sql.105)121不是暂时性错误,而是插入违规。

当错误代码为 121 时,如何识别此临时网络 blip 以重试操作?我应该依赖 Class = 20 吗?

标签: sqlsql-serverazure-sql-databasesqlexception

解决方案


推荐阅读