我在窗口azure服务器上托管了应用程序。我的数据库实例也在窗口azure上。
有时(并非总是)我收到以下错误:
发生与网络相关或特定于实例的错误 建立与SQL Server的连接。找不到服务器或 无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接。 (提供者:TCP Provider,error:0 - 无法对套接字执行操作 因为系统缺少足够的缓冲区空间或者因为队列 已经满了。)---> System.ComponentModel.Win32Exception:对上的操作 无法执行套接字,因为系统缺乏足够的功能 缓冲区空间或因为队列已满---内部异常结束 堆栈跟踪---
请您指点一下,为什么我只会在一段时间内收到此错误。
答案 0 :(得分:1)
您是否正在与数据库进行大量(以及批次)连接?如果是这样,一旦你完成,你会优雅地处理它们吗? DI参与了吗?您是使用EF还是其他OR映射器,或者您只是通过ADO.NET连接?如你所见,你可以回答一些问题,以帮助我们给你答案......
您应该始终为Azure SQL(或实际上任何Azure组件)做好准备,例如通过实施重试机制。在Retry service specific guidance文档中找到适合您的方案的方法。一个有趣的搜索词是Transient Fault Handling。