Przejdź do treści
Polski
  • Brak sugerowanych wyników, ponieważ pole wyszukiwania jest puste.

Konserwacja bazy danych MS SQL: Odbudowa i reorganizacja indeksów

Konserwacja bazy danych MS SQL: Odbudowa i reorganizacja indeksów w Syteca On-Premises

Uwaga: Metoda odbudowy indeksów z wykorzystaniem planów konserwacji MS SQL działa tylko w wersjach Standard i Enterprise serwera MS SQL (wersja Express nie obsługuje tej funkcji).

Indeksy są kluczowym elementem poprawiającym wydajność bazy danych MS SQL Server. Administratorzy baz danych powinni regularnie konserwować indeksy, aby zapewnić optymalną wydajność.

Odbudowa i reorganizacja indeksów to dwie metody konserwacji indeksów i poprawy wydajności bazy danych. Można je przeprowadzać za pomocą złożonych zapytań SQL lub planów konserwacji SQL Server w SQL Server Management Studio.

Po utworzeniu indeksów należy zaplanować ich konserwację, ponieważ z czasem ulegają one fragmentacji, gdy dane są dodawane, aktualizowane lub usuwane z tabel.

Reorganizacja indeksu

Reorganizacja indeksu zużywa mniej zasobów niż jego odbudowa. Dlatego reorganizacja powinna być preferowaną metodą konserwacji indeksów, chyba że istnieje szczególny powód do użycia odbudowy. Reorganizacja jest zawsze operacją online, co oznacza, że nie są utrzymywane długoterminowe blokady obiektów – zapytania i aktualizacje na tabeli mogą być kontynuowane podczas reorganizacji.

Odbudowa indeksu

Odbudowa indeksu polega na jego usunięciu i ponownym utworzeniu. W zależności od typu indeksu i wersji silnika bazy danych MS SQL, operacja odbudowy może odbywać się offline lub online. Odbudowa offline trwa zwykle krócej, ale powoduje blokadę obiektu, co uniemożliwia dostęp do tabeli w czasie trwania operacji.

Odbudowa online nie wymaga blokady obiektu aż do końca operacji, gdzie blokada jest potrzebna na krótki czas. W zależności od wersji silnika MS SQL odbudowę online można uruchomić jako operację wznawialną (resumable). Taka operacja może być wstrzymana i wznowiona później bez utraty dotychczasowego postępu.

Uwaga: Podczas odbudowy indeksu online każda modyfikacja danych w kolumnach indeksowanych wymaga aktualizacji dodatkowej kopii indeksu, co może tymczasowo pogorszyć wydajność. Jeśli operacja wznawialna zostanie wstrzymana, wpływ na wydajność będzie utrzymany aż do jej zakończenia lub przerwania.

 

Spis treści

Sprawdzanie, czy należy przeprowadzić reorganizację czy odbudowę indeksów Kliknij
Tworzenie i harmonogramowanie planu konserwacji do odbudowy indeksów Kliknij

 

1. Sprawdzanie, czy należy przeprowadzić reorganizację czy odbudowę indeksów <a name="1"></a>

Przed wykonaniem jakichkolwiek operacji należy sprawdzić poziom fragmentacji indeksów. Informacje te można uzyskać, uruchamiając domyślny raport Index Physical Statistics w SQL Server Management Studio:

  • Otwórz SQL Server Management Studio i wybierz odpowiednią bazę danych z aktywnościami (zwykle: <nazwa_hosta>.EkranActivityDB).

  • Kliknij prawym przyciskiem myszy nazwę bazy danych > Reports > Standard Reports > Index Physical Statistics.

image2024-9-19_14-4-5

  • Raport wyświetli wszystkie dostępne indeksy, poziom ich fragmentacji oraz rekomendowane działania.

image2024-9-19_15-3-25

Zalecenie:

  • Fragmentacja < 30% → Reorganizacja

  • Fragmentacja ≥ 30% → Odbudowa

2. Tworzenie i harmonogramowanie planu konserwacji do odbudowy indeksów <a name="2"></a>

Po ustaleniu poziomu fragmentacji bazy danych możesz utworzyć plan konserwacji:

  • Otwórz Object Explorer, rozwiń folder Management, kliknij prawym przyciskiem myszy Maintenance Plans > New Maintenance Plan.

image2024-9-19_14-10-35

  • Nadaj planowi nazwę, np. Index Rebuild Job.

image2024-9-19_14-11-7

  • Z toolboxa przeciągnij element Rebuild Index Task i zmień jego nazwę (np. „Nocna konserwacja indeksów”).

image2024-9-19_14-11-43

  • Kliknij prawym przyciskiem zadanie > Edit, a następnie:

    image2024-9-19_14-12-31
    • W polu Connections wybierz Local server connection.
    • W polu Database(s) wybierz EkranActivityDB.

    • Nie zmieniaj domyślnych ustawień zadania odbudowy indeksów.

Uwaga: Dla dużych wdrożeń zaleca się odznaczyć opcję Keep index online. W czasie odbudowy bazy danych połączenie zostaje rozłączone i nie są zbierane nowe dane. Po zakończeniu procesu klienci Syteca wznowią przesyłanie danych z lokalnych buforów offline.

  • Kliknij OK, by zapisać ustawienia.

image2024-9-19_14-16-9

  • Kliknij ikonę kalendarza w menu, aby ustawić harmonogram (np. co 6 miesięcy o 1:00 w nocy).

  • Kliknij OK, by zapisać harmonogram, a następnie zapisz plan konserwacji.

  • Przetestuj plan, klikając prawym przyciskiem na Index Rebuild Job > Execute.