连续连接数据库时出错

当我在连续循环中从数据库查询时,一段时间后我收到一个错误:

提出的exception可能是由于瞬时故障引起的。 如果要连接到SQL Azure数据库,请考虑使用SqlAzureExecutionStrategy。

通常它工作正常。

连接到SQL数据库时,您必须考虑瞬时连接故障。 例如,当更新推出,硬件失败等时,可能会发生这些连接失败。您看到的错误表明发生了其中一种情况,即您断开连接的方式。 按照Anbuj的建议启用执行策略应该可以解决问题。

启用此处提到的执行策略: https : //msdn.microsoft.com/en-us/data/dn456835.aspx 。 在设计Azure SQL DB时,必须设计瞬态连接故障,因为后端更新,硬件故障,负载平衡有时会导致间歇性故障。

如果您正在使用EF Core配置重试失败以进行弹性连接:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("your_connection_string", builder => { builder.EnableRetryOnFailure(5, TimeSpan.FromSeconds(10), null); }); base.OnConfiguring(optionsBuilder); } 

当我尝试连接到数据库的登录时,我在数据库中没有关联的用户时收到此错误。

如果您的数据库是本地的,让我们说一个WebAPI,有时您必须提供数据源= localhost而不是IP地址。 我们遇到的情况是我们正在使用某些VPS而没有将数据源设置为localhost会出现此错误。 所以,如果有其他人经历过这一点,它可以帮助他。

这可能是因为TLS设置,.net 4.5框架默认情况下不支持tls 1.2,新的SQL db与旧的tls ver不兼容。 所以要么在你的机器上禁用tls 1.0,1.1,要么更新到.net 4.6.2