Ha úgy érezzük, hogy SQL szerver magasabb verzióra frissítése után egyes helyeken lassulás tapasztalható, akkor a lenti script sablonnal lehetőség van megvizsgálni, hogy az aktuális compatibility level, és az eggyel előző compatibility level milyen értékeket mutat, valamint az eredmény utolsó során megmutatjuk az eltérést.
Pl. ha a Vevőszámla tétel tervezett költség lekérdezésnél érzékelünk lassulást, akkor a bevitelben a Futásidő (SQL) naplóval megszerezzük a hívást, majd SSMS-ben megvizsgálhatjuk:
exec VevoSzBeolvasas @VevoSz_ID=NULL, @VevoSzPar_ID=NULL, @AdatNyelv_ID = NULL, @ArEngedmenyMeghat_ID=NULL, @datasets=N'VevoSz,VevoSzTetelTervKoltseg'
--TRUNCATE table temp.exec_stat
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
DBCC FREESYSTEMCACHE('SQL Plans') WITH MARK_IN_USE_FOR_REMOVAL, NO_INFOMSGS --adhoc
---Ide kell beilleszteni a vizsgálandó utasítás(oka)t------------------------------------------------------------------------------
--Beillesztés vége------------------------------------------------------------------------------------------------------------------
EXEC Temp.SaveExecStat
GO 2 --Kétszer fut le. A SaveExecStat átállítja a LEGACY_CARDINALITY_ESTIMATE-et, ezért második alkalommal ellentétes beállításokkal fut
EXEC Temp.CompareExecStat
--Az oszlopok
--1. objectname Tárolt eljárás neve. String kolbászolás esetén üres
--2. statement_text Tárolt eljáráson belül az utasítás
--3. query_hash Az utasításból képzett hash
--4. execution_count0 Hányszor futott le az aktuális compatibility level-el
--5. total_elapsed_time0 Mennyi ideig futott az aktuális compatibility level-el
--6. execution_count1 Hányszor futott le az visszaállított compatibility level-el (illik azonosnak lenni a 4. oszloppal)
--7. total_elapsed_time1 Mennyi ideig futott az visszaállított compatibility level-el
--8. diff % Az eltérés %-ban a 7. oszlophoz képest
--Az utolsó oszlop lényeges +100%-nál nagyobb eltéréssel érdemes elsőre foglalkozni.
--A negatív százalékoknak örülünk, ezt kapjuk a szerver frissítéstől
--Ahol nagy az eltérés be kell állítani az alábbi option-t.
--OPTION (USE HINT ('FORCE_LEGACY_CARDINALITY_ESTIMATION'))
Ctrl+Alt+S ( Ctrl + Alt + S ) billentyűk megnyomásával a beviteli funkciókban Lekérdező vagy módosító üzemmódban ellenőrizhető a felület sebessége. A mérés során a kliens az SQL-től lekéri a következő rekord adatát, visszakapja és kiírja az adatokat a kliensgépen. [msec/row].