Nowe #CU dla SQL Server 2017 i 2019

Pojawił się w lutym 2021r nowe zestaw skumulowanych poprawek CU: w wersji 9 dla MS SQL Server 2019 (KB5000642) w wersji 23 dla MS SQL Server 2017 (KB5000685) Aktualizuje składniki usług SQL Server i Analysis do następujących kompilacji: Składnik Wersja produktu Wersja pliku SQL Server 15.0.4102.2 2019.150.4102.2 Analysis Services 15.0.34.29 2018.150.34.29 #CU9 SQL Server 2019 Składnik Wersja produktu Wersja pliku SQL Server 14.0.3381.3 2017.140.3381.3 Analysis Services 14.0.249.70 2017.140.249.70 #CU23 SQL Server 2017

List Expensive Queries using DMV and Bitwise

Poniżej przedstawiam sposób w jaki można wyciągnąć z SQL Server listę najbardziej kosztownych zapytań T-SQL. Zapytanie to zwraca do czterej list w podziale na kategorie (kryteria) tego czego szukamy: Frequently ran query High Disk Reading query High CPU query Long Running query Gdy znajdziemy już na liście interesujące nas zapytanie można przejść do ostatniej kolumny tego zapytania, otworzyć plan wykonania i rozpocząć analizę i dostrajanie zapytania. W zapytaniu tym ustawiamy odpowiednie wartości do uzyskania kategorii oraz możemy określić ile najcięższych zapytań chcemy Dowiedz się więcej…

Progi rekompilacji statystyk w SQL Server

Jeśli chcemy mieć stale aktualne statystyki możemy je aktualizować ręcznie lub włączyć opcje automatycznej aktualizacji statystyk AUTO_UPDATE_STATISTICS. Po włączeniu tej opcji to właśnie optymalizator zapytań określa, kiedy statystyki mogą być nieaktualne, a następnie aktualizuje je, gdy są używane przez zapytanie. Ta czynność jest nazywana rekompilacją statystyk. Kiedy statystyki stają się nieaktualne? Po wszelkich modyfikacjach na danych czyli operacjach: INSERT, UPDATE, DELETE, MERGE, które zmieniają rozkład danych w tabeli lub poindeksowanym widoku. Query Optimizer określa, kiedy statystyki mogą być nieaktualne, zliczając liczbę modyfikacji Dowiedz się więcej…

Skrypty do generowania testowych tabel, indeksów i statystyk.

W poście dotyczącym maksymalnej ilości kolumn w indeksach i statystykach ciężko by było ręcznie wpisać kod np. statystyki z 64 testowymi kolumnami. Analogicznie ma się sprawa z indeksami czy też samą tabelą. Stworzyłem skrypty do generowania tych obiektów, które przedstawiam poniżej. Generowanie tabeli: podajemy parametry wymagane @TableName i @NumofCols oraz opcjonalne @ColPrefixName i @ColTypes. Kolejny skrypt służy wygenerowaniu kodu tworzącego indeksy. Podajemy parametry wymagane @TableName, @IndexName i @NumofCols oraz opcjonalne @ColPrefixName. Ostatni skrypt służy do wygenerowania kodu tworzącego statystyki. Podajemy parametry wymagane Dowiedz się więcej…

Maksymalna ilość kolumn w indeksie i statystykach.

Przeczytałem dwa wpisy Pinal Dave na blogu https://blog.sqlauthority.com. Oba dotyczyły maksymalnej ilości kolumn użytych do budowy indeksów i statystyk. Jeden pewnie dotyczył SQL Server 2008, a drugi SQL Server 2012. Dokładnie nie było to podane lecz tak wywnioskowałem z daty wpisu. W pierwszym wpisie Pinal Dave pokazuje, że po przekroczeniu ilości 16 kolumn dostajemy komunikaty błędów przy próbie utworzenia indeksu czy statystyki dla np. 17 kolumn. W drugim wpisie Pinal Dave pokazuje, że po przekroczeniu ilości 32 kolumn dostajemy komunikaty błędów przy Dowiedz się więcej…

Referencyjny obraz systemu VHD

Bardzo często zdarza się, że chcemy utworzyć dysk wzorcowy z zainstalowanym systemem operacyjnym wraz z aplikacjami. Dysk taki można wykorzystać jako wzorzec, który kopiujemy do nowej maszyny, a następnie wprowadzamy zmiany. Można również chcąc utworzyć laboratorium lub środowisko deweloperskie utworzyć jeden główny dysk referencyjny, który będzie dyskiem nadrzędnym i do takiego dysku podpiąć dyski różnicowe. Dysk różnicowy działa jak dysk podrzędny i nie zawiera pełnej wersji danych na dysku maszyny wirtualnej, a jedynie zmiany dokonane podczas jego działania, tj. to dane, które Dowiedz się więcej…