Azure sql database 经过一段时间后就中断连接

在使用 Azure 的时候发现一个有趣的现象。

每天早上同事们开始开发工作的时候,不管是谁,第一次运行程序的时候都会出现数据库连接错误的提示。

2020-10-30 09:26:39.890 DEBUG 9398 --- [nio-8080-exec-2] com.zaxxer.hikari.pool.HikariPool        : HikariPool-Azure - Cannot acquire connection from data source

 

com.microsoft.sqlserver.jdbc.SQLServerException: Database 'sco' on server 'sco-db' is not currently available.  Please retry the connection later.  If the problem persists, contact customer support, and provide them the session tracing ID of '{C7F5F05C-76C3-41A9-8823-977205A60F4B}'. ClientConnectionId:1cb47252-b3f2-4b69-af0e-7e44994e21b6
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)

随后随时连接都不会有问题了。

查看过连接池的配置,也是正常的。

原因和解决

经过一段时间的分析后发现,在日志中,提示有重新启动数据库:

zaure-sql-01

在查看日志的时候,也出现了一次连接失败的提示。

zaure-sql-02

然后再出现连接失败的提示后,显示的所有连接都是成功的。

zaure-sql-03

由此可以判断,在 Azure 数据库中是否有一个没有连接将会将数据库设置到休眠状况的配置。

根据官方的链接中有关文档的提示:https://docs.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview#autoresuming

确实有一个休眠和恢复的配置。

你也可以取消这个功能。你可以通过下面的路径进行操作,选择 Configure,然后选择 Auto-Pause Delay。

zaure-sql-04

你可以设置休眠时间,或者直接取消。

如果你的条件允许,或者预算比较宽裕的话,建议就直接取消这个功能。

https://www.ossez.com/t/azure-sql-database/625

原文地址:https://www.cnblogs.com/huyuchengus/p/13905068.html