okay - jeg fik sådan set selv bakset noget sammen her...
SELECT OBJECT_NAME(S.object_id) AS tabel_navn, I.name AS index_navn,
user_updates AS antal_updates
FROM sys.dm_db_index_usage_stats AS S INNER JOIN
sys.indexes AS I ON S.object_id = I.object_id AND S.index_id =
I.index_id
WHERE (S.user_seeks = 0) AND (S.user_scans = 0) AND (S.user_lookups = 0)
ORDER BY S.user_updates DESC
Den returnerer Tabelnavn, indexnavn og antal updates sorteret på antal.
Iøvrigt en forespørgsel andre måske kunne bruge til at optimere på
indexes...
God påske...
Brian
Brian Sprogø skrev:
> Hejsa,
>
> Jeg er igang med at ville rydde lidt op i de index der ikke bliver
> benyttet på vores SQL 2005 navision-database.
>
> I den forbindelse har jeg fundet frem til lidt forskellige scripts, der
> kan pege mig hen på ubenyttede index.
>
> Først finder jeg index der ikke bliver brugt:
>
> SELECT * FROM sys.dm_db_index_usage_stats
> WHERE user_seeks = 0 AND user_scans = 0 AND user_lookups = 0
> ORDER BY user_updates DESC
>
> Her kan jeg så se 'object_id' og 'index_id'.
>
> For at finde tabel-navnet, kan jeg bruge følgende script:
>
> SELECT DISTINCT OBJECT_NAME(1050135182)
> FROM master.sys.objects
>
> For at finde navnet på index, kan jeg bruge følgende script:
>
> SELECT name
> FROM sys.indexes
> WHERE object_id = 1050135182 AND index_id = 5
>
> Se, det er jo alt sammen meget godt - jeg kan finde frem til det jeg
> gerne vil - men det er jo en kende besværligt at skulle køre 3 scripts.
>
>
> Er der en venlig sjæl, som kan hjælpe mig med at få bygget de 3
> forespørgsler sammen, således at jeg får den første forespørgsel, men
> med tabel-navn og index-navn fundet frem i samme hug ?
>
> Mvh.
>
> Brian