Hi @chrisrdba Thank you for posting your question on Microsoft Q&A and for using Azure services.
My understanding is that you are getting high cost on your Azure SQL Database hyperscale serverless even though you set all configurations as low. And you also mentioned that it is set to auto pause after an hour of inactivity.
*How can be sure that auto-pause is working? *
The following features do not support auto-pausing but do support auto-scaling. If any of the following features are used, then auto-pausing must be disabled, and the database will remain online regardless of the duration of database inactivity:
- Geo-replication (active geo-replication and auto-failover groups).
- Long-term backup retention (LTR).
- The sync database used in SQL Data Sync. Unlike sync databases, hub and member databases support auto-pausing.
- DNS alias created for the logical server containing a serverless database.
- Elastic Jobs (preview), when the job database is a serverless database. Databases targeted by elastic jobs support auto-pausing and will be resumed by job connections.
If auto-pausing is enabled, but a database does not auto-pause after the delay period, and the features listed above are not used, the application or user sessions may be preventing auto-pausing. To see if there are any application or user sessions currently connected to the database, connect to the database using any client tool, and execute the following query:
SELECT session_id,
host_name,
program_name,
client_interface_name,
login_name,
status,
login_time,
last_request_start_time,
last_request_end_time
FROM sys.dm_exec_sessions AS s
INNER JOIN sys.dm_resource_governor_workload_groups AS wg
ON s.group_id = wg.group_id
WHERE s.session_id <> @@SPID
AND
(
(
wg.name like 'UserPrimaryGroup.DB%'
AND
TRY_CAST(RIGHT(wg.name, LEN(wg.name) - LEN('UserPrimaryGroup.DB') - 2) AS int) = DB_ID()
)
OR
wg.name = 'DACGroup'
);
If the result set is non-empty, it indicates that there are sessions currently preventing auto-pausing.
Regards,
Oury