sql - 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 吗?
解决方案
推荐阅读
- php - 在codeigniter中将内容从一个数组渲染到另一个数组
- java - 创建一个包含 10 列和 100 000 行的文件
- bash - 更改 bash 中较大子集的文件名(mac 终端)
- jquery - 为 Datepicker jQuery 问题设置自定义 minDate
- wcf - 使用 SvcUtil 从 WSDL 生成 WCF [ServiceContract]:找不到架构信息
- django - django bulk create with many=True,需要从外部表中的不同字段保存外键吗?
- sql - 每小时结果,即使在 SQL Server 上为 0
- math - 余数不除
- microstrategy - Microstrategy Web API 触发报表上的计划?
- python - 如何使用 ffmpeg 分割多个 mp4 视频?当前解决方案太慢