| Termin | Definicja |
|---|---|
| SQL Server 2014 Compatibility | Poziom zgodności SQL Server 2014 zachowuje charakterystykę optymalizatora zapytań z tej wersji silnika. Poziom zgodności 120 w SQL Server 2014SQL Server 2014 Compatibility oznacza poziom zgodności bazy danych z silnikiem SQL Server 2014, oznaczany wartością 120. Ustawienie to jest właściwością konkretnej bazy danych, a nie całej instancji. Wpływa na sposób interpretowania części zapytań Transact-SQL oraz na zachowanie optymalizatora zapytań. Nie zmienia jednak wersji zainstalowanego silnika, jego plików wykonywalnych ani dostępnych funkcji administracyjnych instancji. Poziom zgodności można sprawdzić w widoku katalogowym Wpływ poziomu 120 na optymalizację zapytańJedną z istotnych zmian powiązanych z poziomem 120 jest użycie nowego estymatora liczności, określanego jako New Cardinality Estimator. Estymator przewiduje liczbę wierszy, które zwrócą poszczególne operatory planu wykonania. Na podstawie tych przewidywań optymalizator wybiera między innymi kolejność złączeń, sposób dostępu do indeksów oraz użycie złączenia zagnieżdżonego, haszującego albo sortującego. Przejście z wcześniejszego poziomu zgodności może więc zmienić plany wykonania tych samych zapytań. W przypadku jednych instrukcji plan będzie korzystniejszy, a w przypadku innych estymacja liczby wierszy może być mniej trafna i doprowadzić do większego użycia pamięci, wyboru nieodpowiedniego operatora albo skanowania zamiast wyszukiwania indeksowego. Sama zmiana poziomu nie gwarantuje poprawy wydajności. Powinna być sprawdzana na rzeczywistych zapytaniach, statystykach, indeksach i rozkładzie danych. Zmiana zgodności a istniejąca baza danychPodczas aktualizacji bazy do SQL Server 2014 jej dotychczasowy poziom zgodności nie musi zostać automatycznie zmieniony na 120. Pozwala to zachować wcześniejsze zachowanie aplikacji do czasu przeprowadzenia testów. Baza może korzystać z nowszego silnika, jednocześnie zachowując starszy poziom zgodności, o ile dana kombinacja wersji jest obsługiwana przez SQL Server. Przed zmianą warto zapisać aktualną wartość Sprawdzanie ustawienia i analiza planu wykonaniaAktualny poziom zgodności można odczytać poleceniem W SQL Server 2014 poziom zgodności jest elementem diagnostyki wydajnościowej, szczególnie gdy po migracji pojawia się wolniejsze zapytanie, większe zużycie procesora lub pamięci. Ocenę należy oprzeć na powtarzalnych pomiarach, planach rzeczywistego wykonania i danych z badanego środowiska. W razie regresji można czasowo pozostawić wcześniejszy poziom zgodności dla konkretnej bazy, a następnie osobno poprawić zapytanie, statystyki lub indeksy i ponowić testy. Ustawienie 120 nie zastępuje strojenia kodu Transact-SQL ani prawidłowego utrzymania bazy danych. |