Załataj SQL Server 2016, by nie sprawiał problemów

Załataj SQL Server 2016, by nie sprawiał problemów

Autor: Krzysztof Kapustka

Opublikowano: 6/6/2016, 6:54 PM

Liczba odsłon: 3407

Wyczekiwany od miesięcy SQL Server 2016 ukazał się na rynku 1 czerwca, a więc zgodnie z ustalonym planem. Z jednej strony to dobrze, ale też trochę szkoda, że nie doszło tu do żadnego, chociażby kilkudniowego opóźnienia, bo być może udałoby się firmie Microsoft uniknąć przykrej, choć na szczęście niezbyt dużej wpadki. O co chodzi? Opublikowana wersja RTM nowego SQL Servera, jak przystało na aplikację napisaną w Visual C++, instaluje i wykorzystuje do działania odpowiednie komponenty uruchomieniowe w określonej wersji - w tym wypadku VC++ 2013 Update 5. Kilka dni po premierze systemu w jednej z tych bibliotek odkryto poważny błąd, przez który system bazy danych w obecnej formie może mieć problemy ze stabilnością. Stosowna aktualizacja jest już co prawda dostępna, ale mimo wszystko należy ją zainstalować oddzielnie - tym samym do momentu zaktualizowania SQL Servera lub ręcznego uaktualnienia bibliotek C++ produkt ten jest w zasadzie wadliwy, mimo że błąd wcale nie tkwi w nim samym.

W obowiązujących obecnie pakietach redystrybucyjnych Visual C++, których zadaniem jest instalacja komponentów uruchomieniowych wymaganych do działania aplikacji napisanych w tym języku przy użyciu Visual Studio 2013, zidentyfikowano niedawno dwa odrębne problemy, z czego jeden może potencjalnie doprowadzić do uszkodzenia sterty. Jak czytamy w specyfikacji do wydania nowego SQL Servera, cały problem spoczywa w pliku msvcr120.dll, który po instalacji zlokalizowany jest na ścieżce %SystemRoot%\system32\. Wspomnianym problemem dotknięte są w zasadzie wszystkie wersje tej biblioteki starsze niż 12.0.40649.5. Aby dowiedzieć się, czy nasz serwer bazy danych wykorzystuje jedną z nich, należy otworzyć okno właściwości tego pliku, a następnie na karcie Szczegóły odczytać numer wersji kompilacji tej biblioteki. Jeśli posiadamy wersję starszą niż 12.0.40649.5, powinniśmy ją niezwłocznie zaktualizować.

Podlinkowana wyżej łatka KB3138367 stanowi ręczny sposób usunięcia problemu i można ją zastosować zarówno przed, jak i po instalacji instancji SQL Server 2016 (w tym drugim przypadku wymaga się uprzednio zatrzymania usługi silnika bazy danych dla wszystkich istniejących instancji). Oczywiście system ten obsługuje również aktualizacje automatyczne. Jeśli więc zamierzamy skorzystać z tego rozwiązania, powinniśmy wypatrywać w nim aktualizacji Critical Update for SQL Server 2016 MSVCRT Prerequisites.

Kto wstrzymał się na razie z pobraniem i instalacją nowego SQL Server 2016 chcąc uniknąć tego rodzaju błędów na wczesnym etapie cyklu życia produktu, ten może zechcieć poczekać na uaktualnienie (przebudowanie) pakietów wydawniczych SQL Server 2016 RTM (planowane za jakiś czas), lub na pierwszą planowaną aktualizację serwisową CU1, przy czym ta ma zostać wydana znacznie później.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia