Nowsza wersja programu SQL Server jest mniej stabilna?

15

Nasz architekt bazy danych powiedział naszemu klientowi, że SQL Server 2014 jest złym wyborem w stosunku do 2012 r., Ponieważ brakuje mu lepszej wydajności i stabilności niż 2012. Wszystko, co przeczytałem, przeczy temu. Aaron Bertrand mówi dokładnie odwrotnie i zgadzają się też wszystkie białe księgi, które przeczytałem ze stwardnienia rozsianego - 2014 został ulepszony i rozwiązuje niektóre problemy AG z 2012 r.

Czy jest jakaś poważna wada wyboru 2014 w stosunku do 2012 r., Której mi brakuje?

224621HuttHuttHike
źródło
11
Myślę, że architekt twojej bazy danych jest pijany.
Daniel Hutmacher
1
Roszczenia nadzwyczajne wymagają nadzwyczajnych dowodów. Masz swoje argumenty i referencje (i są one dobre). Podejdź do swojego architekta i zapytaj go o szczegóły potwierdzające jego pozycję.
Jonathan Fite
2
Właściwie nie możesz dziś wybrać SQL Server 2012 zamiast SQL Server 2014 dla nowych instalacji, ponieważ nie możesz już kupować licencji na SQL Server 2012 (przynajmniej nie bezpośrednio od Microsoft)
a_horse_with_no_name
Powinieneś dokonać wyboru zgodnie ze swoimi wymaganiami i budżetem. Powiedziałbym, że oba są dobre i nie powinieneś porównywać. Chociaż 2014 ma kilka bardzo dobrych funkcji, ale jeśli masz starszą aplikację i próbujesz przeprowadzić migrację 2014, nowy CE da ci więcej bólu niż w 2012 roku. Poza tym 2014 jest bardzo dobrym wyborem.
Shanky
Regresje @Shanky z nowym CE są rzadkie w porównaniu do liczby zapytań, które ogólnie przynoszą korzyści. Regresje można rozwiązywać indywidualnie lub, w najgorszym przypadku, stary CE można wdrożyć siłą, co jest słabym argumentem do unikania samej wersji IMHO.
Aaron Bertrand

Odpowiedzi:

15

Oczywiście nie potrzebujesz mojego potwierdzenia, ale nie mogę wymyślić jednego możliwego powodu, dla którego sugerowałbym klientowi, aby wybrał rok 2012 w 2014 r. Zwłaszcza ze względu na wsparcie / koniec życia, ale także z powodu dodatkowych funkcji i ulepszeń do istniejących możliwości.

Niektóre powody, dla których możesz usłyszeć:

  • Spadek wydajności . Jasne, może się tak zdarzyć, ale może się również zdarzyć, gdy przejdziesz do 2012 r. Lub dokonasz innych poważnych zmian (niektóre z przyczyn można również przypisać migracji bez aktualizacji, przełączania awaryjnego itp.). Regresje są oczekiwaną częścią zmian i łatwo jest winić aktualizację ( wystarczy zapytać zespół VSTS ).

  • Wyższy koszt . Widziałem kilka twierdzeń, że 2014 r. Kosztuje tę samą konfigurację ponad 2012 r., Ale nie zauważyłem żadnych zmian licencyjnych, które by do tego doprowadziły, z wyjątkiem tego, że rezerwowe urządzenia pomocnicze wymagają teraz licencji na zapewnienie oprogramowania. Innym aspektem jest to, że ktoś bez SA źle zaplanował i kupił 2012, a teraz chce 2014 - tak, to będzie to kosztować.

Generalnie gorsza wydajność? Mniej stabilności? Nie, oba wydają mi się śmieszne. Poproś pijanego przyjaciela o jakieś prawdziwe dowody, a być może trzymaj go z dala od klientów. :-)

Aaron Bertrand
źródło
2

Program SQL Server 2014 zawiera kilka poważnych zmian w narzędziu Cardinality Estimator. Mogę tylko zgadywać, że bał się tych zmian i wysiłku testowania wszystkiego, aby wydajność się nie pogorszyła.

Lub po prostu zaktualizował program SQL Server bez odpowiedniej analizy zmian zachodzących z powodu nowego narzędzia Cardinality Estimator. A najgorsze przychodzi gorzej, miał kilka zapytań w swojej aplikacji, na które negatywnie wpłynęły zmiany Estimatora!

Pamiętaj, że nowy kardynał estymator może obsługiwać twoje zapytania w różny sposób, a niektóre z nich będą miały negatywny wpływ i spowodują złą wydajność i niestabilny system; cóż, przynajmniej mogą! Ale (!!) to jest - jeśli w ogóle - prawdziwe tylko w przypadku niektórych zapytań, a nie ogólnie dla produktu! I te zapytania powinny być naprawialne.

Dennis Winter
źródło