Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2025 (17.x)
Azure SQL Database
SQL database in Microsoft Fabric
Retourneert realtime inzichten in de status en prestaties van vectorindexen. Gebruik deze weergave voor het bewaken van onderhoudsbewerkingen voor vectorindexen en het identificeren van indexen die aandacht vereisen.
Transact-SQL syntaxis-conventies
| Kolomnaam | Gegevenstype | Beschrijving |
|---|---|---|
object_id |
int | Tabelobject-id. |
index_id |
int | Index-id. |
approximate_staleness_percent |
decimal(10,2) | Percentage wijzigingen in behandeling bij indexupdate. Hogere waarden geven meer wijzigingen in behandeling aan. |
quantized_keys_used_percent |
decimal(10,2) | Percentage sleutelruimte dat door de index wordt verbruikt. |
last_background_task_time |
datetime2 | Laatste tijdstempel voor onderhoud op de achtergrond. Geeft aan wanneer de laatste onderhoudsbewerking is voltooid. |
last_background_task_succeeded |
bit | Geslaagde status van laatste onderhoudstaak. 1 geeft aan dat het is gelukt, 0 geeft aan dat de fout is mislukt. |
last_background_task_duration_seconds |
bigint | Duur van laatste onderhoudstaak in seconden. |
last_background_task_processed_inserts |
bigint | Het aantal invoegbewerkingen dat in de laatste onderhoudstaak is verwerkt. |
last_background_task_processed_deletes |
bigint | Het aantal verwijderingsbewerkingen dat in de laatste onderhoudstaak is verwerkt. |
last_background_task_error_message |
nvarchar(max) | Foutbericht als de laatste onderhoudstaak is mislukt. NULL als de taak is geslaagd. |
Opmerkingen
Deze weergave retourneert informatie voor alle vectorindexen in de huidige database. Vectorindexen voeren achtergrondonderhoud uit om DML-wijzigingen op te nemen (invoegingen, updates, verwijderingen). De approximate_staleness_percent kolom geeft aan hoeveel wijzigingen in de indexstructuur in behandeling zijn.
Approximate_staleness_percent analyseren
De approximate_staleness_percent kolom geeft aan welk percentage gegevenswijzigingen nog niet is verwerkt door de onderhoudstaak op de achtergrond die de vectorindex up-to-date houdt. Wanneer u rijen in een tabel met een vectorindex invoegt, bijwerkt of verwijdert, worden deze wijzigingen niet onmiddellijk opgenomen in de structuur van de DiskANN-grafiek. In plaats daarvan worden de wijzigingen in de wachtrij geplaatst en verwerkt door een onderhoudstaak op de achtergrond. Het verouderingspercentage daalt terug naar 0% wanneer de achterstand wordt verwerkt.
Als u bijvoorbeeld een tabel met 10.000 rijen en een vectorindex hebt en u 500 nieuwe rijen invoegt, is het verouderingspercentage ongeveer 5% (500 wachtende wijzigingen van 10.500 totaalrijen). Naarmate de achtergrondonderhoud deze 500 invoegingen verwerkt, daalt het verouderingspercentage terug naar nul.
Invloed op VECTOR_SEARCH query's
VECTOR_SEARCH gebruikt de huidige status van de DiskANN-grafiek in combinatie met wachtende wijzigingen die nog niet volledig zijn opgenomen. Dit betekent:
- Zelfs wanneer veroudering hoger is dan nul, retourneren uw
VECTOR_SEARCHquery's nog steeds resultaten en bevatten ze onlangs ingevoegde of bijgewerkte rijen. - Het zoekalgoritmen kunnen echter niet gebruikmaken van de volledige grafiekstructuur voor optimale rangschikking totdat het onderhoud van de achtergrond is voltooid.
- De nauwkeurigheid van de classificatie kan worden verminderd. De overeenkomsten en volgorde zijn mogelijk minder optimaal voor rijen die nog niet volledig zijn geïntegreerd in de indexstructuur.
De zoekkwaliteit is het beste wanneer alle vectoren correct zijn geïntegreerd in de grafiek en het verouderingspercentage nul is.
Verouderingswaarden interpreteren
Er is geen universele drempelwaarde voor 'hoge' veroudering, omdat deze afhankelijk is van uw workloadpatroon. Gebruik deze richtlijnen om de waarden te interpreteren die u ziet:
- Tijdens batchbelastingen: 20-30% verouderingen die binnen enkele minuten tot bijna nul dalen, worden verwacht en normaal.
- Tijdens normale bewerkingen: 0-5% veroudering geeft aan dat het achtergrondonderhoud het tempo van uw workload houdt.
Onderzoek de status van uw index als u een van de volgende scenario's tegenkomt:
- Aanhoudende hoge veroudering: Waarden die consistent hoger zijn dan 10-15% tijdens normale bewerkingen stellen voor dat het achtergrondonderhoud uw DML-snelheid niet kan bijhouden.
-
Verminderde relevante overeenkomsten: u ziet een meetbare daling van de relevantie van
VECTOR_SEARCHresultaten. -
Taakfouten: de
last_background_task_succeededwaarde is 0. Het achtergrondproces ondervindt fouten en kan de index niet bijwerken.
Wanneer een vectorindex opnieuw moet worden opgebouwd
Overweeg om een vectorindex opnieuw te bouwen wanneer u prestatie- of terugroepingsdegradatie bekijkt, niet alleen op basis van verouderingspercentage. Scenario's voor herbouwen zijn onder andere:
- Aanzienlijke daling van de kwaliteit van relevante overeenkomsten: Vector search retourneert minder relevante resultaten dan verwacht
- Grootschalige gegevensvervanging: wanneer de meeste of alle insluitingen worden vervangen (bijvoorbeeld opnieuw insluiten met een nieuw model)
Bewaak deze metrische waarde om inzicht te hebben in onderhoudspatronen voor indexen en om indexen te identificeren die aandacht vereisen.
toestemmingen
Vereist VIEW DATABASE STATE machtiging voor de database.
Examples
A. Alle vectorindexen bewaken
Met de volgende query worden alle vectorindexen in de huidige database bewaakt, met de verouderings- en onderhoudsstatus.
SELECT
DB_NAME() AS database_name,
OBJECT_NAME(object_id) AS table_name,
index_id,
approximate_staleness_percent,
last_background_task_succeeded
FROM sys.dm_db_vector_indexes
ORDER BY approximate_staleness_percent DESC;
B. Indexen identificeren die aandacht nodig hebben
Met de volgende query worden vectorindexen met hoge veroudering of recente onderhoudsfouten gevonden.
SELECT
OBJECT_NAME(object_id) AS table_name,
approximate_staleness_percent,
last_background_task_error_message
FROM sys.dm_db_vector_indexes
WHERE
approximate_staleness_percent > 15.0 -- Example value, adjust based on your workload
OR last_background_task_succeeded = 0 -- Recent failure
ORDER BY approximate_staleness_percent DESC;