因此,我在设置新的 Azure SQL 无服务器数据库时遇到了一些问题。
我的CPU使用率一直很高,这花费了一大笔钱,我什至在新区域中使用新名称创建一个新数据库,使用新用户名和密码,并锁定防火墙。备份以及所有自动功能均被禁用。但一旦部署完成,我就开始收到账单。
我已经运行了 sql profiler,但没有任何东西触及数据库。
有人以前遇到过这个问题,或者知道从哪里开始寻找吗?
最佳答案
documentation对于自动暂停开始所需的条件相当清楚:
Autopausing is triggered if all of the following conditions are true for the duration of the autopause delay:
Number sessions = 0 CPU = 0 for user workload running in the user pool
它还列出了一些可能阻止自动暂停的条件 - 您应该仔细检查您没有启用以下任何一项:
- 异地复制(事件异地复制和自动故障转移组)。
- 长期备份保留 (LTR)。
- SQL 数据同步中使用的同步数据库。与同步数据库不同,中心数据库和成员数据库支持自动暂停。
- DNS 别名
- Elastic Jobs 中使用的作业数据库 (预览)。
如果您发现数据库仍未暂停,有多种方法可以跟踪事件连接:
- Azure 门户 - 通过该门户,您只需单击智能性能中心和查询性能洞察边栏选项卡即可深入了解事件:
单击查询 ID(在我的图片中的红色框中)以关注各个查询。
- 连接到数据库并运行
sp_who2
或sp_whoIsActive
(现在托管在 github 上)以列出事件 session 。如果您发现事件 session ,则可以断开它们(例如事件的 SQL Server Management Studio (SSMS) 连接或 Azure Data Studio (ADS))或终止
它们,只要您知道自己在做什么并理解kill命令的含义。 - 我发现的一个稍微令人不快的解决方法 ( here ) 是将层切换到标准层,然后再次切换回无服务器层。我希望这只会杀死所有事件连接以切换层,而不会找到它对我有用的根本原因。
我建议您尝试使用上述方法 1 或 2 诊断事件连接并报告。
关于Azure SQL 无服务器数据库 CPU 不断计费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65389881/