Azure SQL DB Serverless wird nicht automatisch angehalten
Beim Betrachten von Insight Performance Insight wurde festgestellt, dass diese Abfrage 3-4 Mal pro Stunde ausgeführt wird (meine Autopauseneinstellung ist 1 Stunde):
SELECT c.*,
i.object_id, i.unique_index_id, i.is_enabled, i.change_tracking_state_desc, i.has_crawl_completed,
i.crawl_type_desc, i.crawl_start_date, crawl_end_date,
i.incremental_timestamp, i.stoplist_id, i.data_space_id, i.property_list_id,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFullTextMergeStatus') as int) as merge_status,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextDocsProcessed') as int) as docs_processed,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextFailCount') as int) as fail_count,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextItemCount') as int) as item_count,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextKeyColumn') as int) as key_column,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextPendingChanges') as int) as pending_changes,
cast(OBJECTPROPERTYEX(i.object_id, 'TableFulltextPopulateStatus') as int) as populate_status
FROM [46e881b7-c5f1-41cb-8eee-7c92a89cba41].sys.dm_fts_active_catalogs c
JOIN [46e881b7-c5f1-41cb-8eee-7c92a89cba41].sys.fulltext_indexes i on c.catalog_id = i.fulltext_catalog_id
Irgendwelche Gedanken darüber, was los sein könnte? Gibt es eine Möglichkeit, den Ursprung der Abfrage zu ermitteln? Ich habe nur eine VM an die Datenbank angeschlossen und die Dienste deaktiviert. Ich bin mir also nicht sicher, was diesen regelmäßigen Aufruf verursacht.
Antworten
Ich habe das Problem mithilfe von Query Performance Insight gefunden, bei dem ich die tatsächliche Aktivität einschließlich des Abfragetextes anzeigen konnte. Obwohl ich den eigenen Scheduler des Dienstes so konfiguriert hatte, dass er in den Ruhezustand wechselt, fragte der Dienst immer noch die Datenbank ab. Nachdem ich den Dienst mithilfe des Taskplaners tatsächlich ausgeschaltet hatte, wurde die Datenbank nach einer Stunde Inaktivität angehalten.
Query Performance Insight ist ein großartiges Tool, um genau zu bestimmen, was mit Ihrer Datenbank los ist . Beachten Sie jedoch, dass die Datenbank online geschaltet wird, wenn die Datenbank angehalten wird und Sie zu Query Performance Insight navigieren.
Leider ist dies eine Systemabfrage, die in der Azure SQL-Datenbank ausgelöst wird, wenn Ihre Datenbanken Volltextindizes verwenden. Sie sehen dies fast jede Stunde, aber manchmal auch alle 5 Minuten. Dies geschieht seit Anfang dieses Jahres.
Die Volltextsuche wird unter Azure Serverless als externer Dienst betrachtet, der erklärt, dass die Abfrage regelmäßig in der Datenbank ausgeführt wird. Bitte lesen Sie unten:
Auszug: "Die Ressourcen einer serverlosen Datenbank werden von App-Paket-, SQL-Instanz- und Benutzerressourcenpool-Entitäten gekapselt.
Das App-Paket ist die äußerste Ressourcenverwaltungsgrenze für eine Datenbank, unabhängig davon, ob sich die Datenbank in einer serverlosen oder bereitgestellten Rechenschicht befindet. Das App-Paket enthält die SQL-Instanz und externe Dienste, die zusammen alle Benutzer- und Systemressourcen umfassen, die von einer Datenbank in der SQL-Datenbank verwendet werden. Beispiele für externe Dienste sind R- und Volltextsuche. "Quelle hier .