Ola Hallengren: Statistics Optimize – jak ?

Statistics Optimize – czy to nowa procedura wspaniałego pakietu Ola Hallengrena ? Nie, poniżej przedstawię jak można za pomocą procedury IndexOptimize można było wykonać aktualizację samych statystyk bez przebudowy indeksów. Tematem tym zajmował się Brent Ozar i po napisaniu emaila do Ola Hallengrena otrzymał taką odpowiedź: Cała sztuczka polega na zadeklarowaniu następujących zmiennych jako NULL:

Ola Hallengren: IndexOptimize

Procedura składowana IndexOptimize Poniżej za pomocą skryptu można wylistować wszystkie parametry procedury składowanej IndexOptimize. Na chwilę obecną można doliczyć się 35 parametrów, które można wykorzystać do konfiguracji procedury. W odpowiedzi dostajemy następującą listę: Poniżej opiszę większość parametrów. Pozwoli to na lepsze zrozumienie zasad działania procedury IndexOptymazie i stworzenie własnego rozwiązania. Istnieje możliwość zmiany wartości domyślnych dla każdego parametru wewnątrz procedury, ale nie jest to zalecane, ponieważ wpłynie to na każde wywołanie joba, który korzysta z tej procedury (np. IndexOptimize – USER_DATABASES). Powszechną Dowiedz się więcej

Kilka słów o skryptach utrzymaniowych Ola Hallengrena

Postanowiłem rozpocząć cykl kilku wpisów na temat skryptów utrzymaniowych stworzonych przez Ola Hallengrana. Od kilku lat używam je i stwierdzam, że z powodzeniem zastępują Maintenance Plany dostępne z poziomu SSMS. Ola Hallengren jest MVP Microsoft Data Platform mieszkającym w Szwecji. Opracował on najlepsze bezpłatne rozwiązanie do utrzymania i konserwacji dla SQL Server, które jest szeroko stosowane i akceptowane przez administratorów baz danych na całym świecie. Rozwiązanie opiera się na procedurach składowanych, które wykonują kopie zapasowe, sprawdzają integralność, utrzymują indeksy i statystyki we Dowiedz się więcej

Jak wyłączyć napis „Completion time :”

Od jakiegoś czasu w SSMS po wykonaniu zapytania w zakładce Messages pojawia się napis: Completion time: 2021-09-17T08:45:39.1451539+01:00 Jest to czasem bardzo denerwujące. Aby wyłączyć takie zachowanie należy w menu w opcjach SSMS wejść na liście w pozycję Query Execution->SQL Server->Advenced. Tam po prawej stronie należy odznaczyć pozycję „Show completion time”.

Kto utworzył, skasował lub zmodyfikował obiekt bazy danych

Jak można się dowiedzieć kto utworzył, skasował czy zmodyfikował obiekt w bazie danych jeśli nie ma założonego audytu? Czy to sytuacja bez rozwiązania ? Jeśli z jakiegoś powodu zniknął nam indeks, tabela i chcemy znaleźć przyczynę możemy skorzystać z funkcji fn_trace_geteventinfo oraz z zapisów w tabeli sys.trace_events. To, że w SQL Server samodzielnie nie mamy włączonego śledzenia przy pomocy trace, nie oznacza, że silnik nie monitoruje podstawowych zdarzeń. Na stałe są monitorowane zdarzenia, które można wyświetlić za pomocą poniższego zapytania. W rezultacie Dowiedz się więcej

Jak użyć SET XACT_ABORT

SET XACT_ABORT określa, jaką akcję silnik SQL Server powinien wykonać po wystąpieniu błędów wykonań w ramach sesji. Domyślne ustawienie sesji to SET XACT_ABORT OFF, co wskazuje, że tylko instrukcja języka Transact-SQL, która zgłosiła błąd, jest wycofywana, a transakcja jest kontynuowana. W zależności od wagi błędu cała transakcja i/lub partia może zostać wycofana, nawet jeśli SET XACT_ABORT jest WYŁĄCZONE. Efektem ubocznym SET XACT_ABORT OFF jest to, że błąd anulowania/przekroczenia limitu czasu może pozostawić otwartą transakcję, więc to klient jest odpowiedzialny za oczyszczenie po Dowiedz się więcej