Pobrałem zestaw pierwszej pomocy programu SQL Server ze strony internetowej Brenta Ozara. Gdy próbowałem uruchomić skrypt sp_BlitzIndex przeciwko mojej głównej bazie danych za pośrednictwem Microsoft Sql Server Management Studio, gdy jestem zalogowany jako administrator poziomu serwera bazy danych Azure i otrzymałem następujący błąd:
Msg 262, poziom 14, stan 18, procedura sp_BlitzIndex, wiersz 18 Odmowa zezwolenia na utworzenie procedury w bazie danych „master”.
Z powodzeniem utworzyłem procedurę w instancji bazy danych, którą chciałem przetestować. Kiedy wykonałem procedurę, dostałem błąd informujący:
Msg 50000, poziom 16, stan 1, wiersz 1265 Niepoprawna nazwa obiektu „mydatabase.sys.partitions”.
Następnie próbowałem być sprytny i uruchomić kod procedury składowanej bezpośrednio na głównej bazie danych bez tworzenia procedury składowanej i otrzymałem następujący błąd:
Msg 50000, poziom 15, stan 1, wiersz 1267 Odwołanie do bazy danych i / lub nazwy serwera w „mydatabase.sys.indexes” nie jest obsługiwane w tej wersji programu SQL Server.
Nie czuję się wystarczająco pewny siebie, aby zacząć bawić się wewnętrznymi funkcjami ~ 2700 linii heurystycznej logiki indeksu. Czy istnieje szybki i łatwy sposób, aby ta procedura przechowywana ładnie działała w bazie danych Azure SQL Database, czy powinienem szukać gdzie indziej narzędzia do analizy indeksów / procedury przechowywanej?
sp_BlitzIndex
pracę nad V12, czy też nadal brakuje zbyt wielu istotnych bitów, aby było warto? Oczywiście pod warunkiem, że masz wolny czas. :)sp_BlitzIndex
ale podejrzanie mówi, że nie znaleziono żadnych poważniejszych problemów. Podejrzewam, że dzieje się tak, ponieważ wymagane informacje nie są jeszcze dostępne na platformie Azure. Kiedy biegam z@mode=4
, pojawia się błąd.Niektóre „standardowe” zapytania do identyfikacji brakujących indeksów są uruchamiane na platformie Azure, na przykład :
Prawdopodobnie będą znacznie mniej przydatne niż
sp_BlitzIndex
warte wypróbowania.Oto kolejne przydatne zapytanie w celu zidentyfikowania najważniejszych zapytań, które można następnie uruchomić z Planem wykonania w celu zidentyfikowania brakujących indeksów za pomocą SQL Management Studio. Żmudne robienie ich jeden po drugim, ale lepsze niż nic:
źródło