Jeśli używasz SQL Server 2008 lub SQL Server 2008 R2, co robi 9 lipca 2019 znaczy dla ciebie? Ponieważ obie te wersje programu SQL Server osiągną razem koniec okresu wsparcia technicznego, nie będzie już można uzyskać krytycznych aktualizacji zabezpieczeń. Może to spowodować poważne problemy z bezpieczeństwem i zgodnością w Twojej organizacji.
Kiedy te wersje SQL Server zostały wydane, były objęte 10-letnim wsparciem; 5 lat wsparcia podstawowego i 5 lat wsparcia dodatkowego. Jeśli Twoja organizacja nadal korzysta z produktu SQL Server 2008/2008 R2 w środowisku produkcyjnym, w jaki sposób planuje zaradzić ryzyku? Dla organizacji, które są silnie regulowane, jest to duży problem.
Musisz wybrać sposób i miejsce migracji, a następnie upewnić się, że nie napotkasz żadnych przeszkód po drodze.
Narzędzia oceny migracji
Jeśli planujesz uaktualnienie z SQL Server 2008/2008 R2, firma Microsoft znacznie ułatwiła testowanie i walidację środowiska. Istnieje wiele narzędzi, które mogą pomóc w ocenie migracji, a nawet obsłużyć zadania związane z migracją, a wszystkie są nieco inne. Narzędzia te obejmują:
- Asystent migracji danych
- Zestaw narzędzi Microsoft do oceny i planowania
- Usługa migracji bazy danych Azure
- Asystent eksperymentowania z bazą danych
Asystent migracji danych pomaga przejść na nowoczesną platformę danych. Odbywa się to poprzez wykrywanie problemów ze zgodnością, które mogą wpływać na funkcjonalność nowszej wersji programu SQL Server, i przedstawia zalecenia dotyczące ulepszeń wydajności i niezawodności w nowym środowisku. Twoim źródłem może być SQL Server 2005+ z celem SQL 2012+ i Azure SQL Database.
Zestaw narzędzi do oceny i planowania firmy Microsoft istnieje od wielu lat i jest często określany jako narzędzie MAP. Wspaniale jest przeprowadzić inwentaryzację bieżącego środowiska, aby dowiedzieć się, gdzie istnieje SQL Server (i inne aplikacje).
Usługa Azure Database Migration Service integruje niektóre funkcje istniejących narzędzi i usług, aby zapewnić klientom kompleksowe rozwiązanie do migracji na platformę Azure. Narzędzie generuje raporty oceny zawierające zalecenia, które poprowadzą Cię przez wszelkie zmiany wymagane przed przeprowadzeniem migracji. Ta usługa obecnie wymaga VPN lub Express Route.
Wreszcie Asystent Eksperymentów z Bazą Danych to nowe rozwiązanie do testowania A/B dla uaktualnień SQL Server i jest to narzędzie, z którym powinieneś się zapoznać. Wykorzystuje funkcję Distributed Replay do przechwytywania obciążenia i odtwarzania go na docelowym serwerze SQL Server. Może to służyć do testowania zmian sprzętu lub różnic wersji programu SQL Server. Możesz przechwytywać obciążenia z SQL Server 2005 i nowszych.
Opcje migracji
Aktualizacja lokalna: Jedną z najłatwiejszych metod migracji jest uaktualnienie do nowszej wersji SQL Server. W takim przypadku masz do wyboru SQL Server 2012, 2014, 2016 lub 2017. Zachęcam klientów do aktualizacji do najnowszej wersji, jaką mogą. SQL Server 2012 jest już poza wsparciem podstawowym, a SQL Server 2014 kończy wsparcie podstawowe w dniu 9 lipca 2019 r. Aktualizacja może być bardzo czasochłonna i kosztowna dla organizacji ze względu na całe planowanie i testowanie, więc przejście na najnowszą wersję może zwiększyć czas do następnej aktualizacji. Istnieje również wiele ulepszeń wydajności i funkcjonalności w SQL Server 2016 i 2017, które sprawiają, że migracja do SQL Server 2012 lub 2014 jest obecnie bardzo złym wyborem.
Typowym podejściem do uaktualnień lokalnych jest tworzenie nowych i migracja, niezależnie od środowiska fizycznego lub wirtualnego. Budując nowe, możesz przywrócić swoje bazy danych i przeprowadzić liczne rundy testów i walidacji, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami przed przeniesieniem produkcji.
Uaktualnij i migruj do maszyny wirtualnej platformy Azure: Dla organizacji, które chcą przeprowadzić migrację do chmury, Azure Infrastructure as a Service (IaaS) jest doskonałym rozwiązaniem. Uruchamianie programu SQL Server na maszynie wirtualnej platformy Azure przypomina działanie lokalne. Określasz rozmiar maszyny wirtualnej (liczbę procesorów wirtualnych i pamięci) i konfigurujesz magazyn pod kątem wymagań we/wy i rozmiaru. Nadal jesteś odpowiedzialny za obsługę systemu operacyjnego i SQL Server w zakresie konfiguracji i instalowania poprawek. Usługa Azure IaaS umożliwia łatwe skalowanie obciążeń przez zwiększanie lub zmniejszanie rozmiaru maszyny wirtualnej w zależności od potrzeb związanych z obciążeniem, a także korzystanie z integracji z usługą Azure Active Directory, wykrywania zagrożeń i wielu innych korzyści związanych z platformą Azure.
Migracja do bazy danych Azure SQL: Inną dostępną opcją jest migracja do Azure SQL Database. Azure SQL Database można traktować jako bazę danych jako usługę i jest częścią platformy Microsoft jako usługi (PaaS). Funkcja Azure SQL Database obejmuje zakres bazy danych, co oznacza, że niektóre elementy, takie jak zapytania między bazami danych, agent programu SQL Server, poczta bazy danych i inne, są niedostępne. Jednak wielu klientów, którzy mają aplikacje korzystające z jednej bazy danych, mogło przeprowadzić migrację do usługi Azure SQL Database przy minimalnym nakładzie pracy. Możesz szybko przetestować zgodność z usługą Azure SQL Database za pomocą Asystenta migracji danych. Dzięki usłudze Azure SQL Database możesz określać rozmiar baz danych według jednostek DTU (jednostek transakcji bazy danych) lub rdzeni wirtualnych lub grupować bazy danych w pulę elastyczną. Azure SQL Database umożliwia skalowanie zasobów w górę iw dół przy minimalnym wysiłku i przestojach.
Migracja do wystąpienia zarządzanego Azure SQL: Nową opcją (od 2018 r.) jest migracja do wystąpienia zarządzanego Azure SQL. Jest to nowy produkt, który jest obecnie ogólnie dostępny od 1 października w warstwie ogólnego przeznaczenia. Wystąpienie zarządzane zostało zbudowane przy użyciu modelu programowania na poziomie instancji. Oznacza to, że obsługiwana jest funkcjonalność, do której jesteśmy przyzwyczajeni z pełną wersją SQL Server. Celem wystąpienia zarządzanego jest zapewnienie 100% zgodności powierzchni z rozwiązaniami lokalnymi. Wszystkie bazy danych w instancji znajdują się na tym samym serwerze, więc obsługiwane są zapytania między bazami danych, podobnie jak poczta bazy danych, agent serwera SQL, broker usług i wiele innych. Istnieją dwa poziomy cenowe; Ogólnego przeznaczenia, który obejmuje nieczytelne drugorzędne dla HA i Business Critical, które ma dwa nieczytelne drugorzędne i czytelne drugorzędne. Wystąpienie zarządzane jest częścią oferty PaaS firmy Microsoft, dzięki czemu otrzymujesz wszystkie wbudowane funkcje i funkcje PaaS.
Przenieś bez zmian do maszyn wirtualnych Azure: Firma Microsoft oferuje trzyletnie dodatkowe aktualizacje zabezpieczeń bez dodatkowych opłat w przypadku przeniesienia wystąpień SQL 2008/SQL 2008 R2 na maszynę wirtualną platformy Azure. Celem jest zapewnienie nieco więcej czasu na uaktualnienie do nowszej wersji programu SQL Server, gdy będziesz gotowy.
Płać za pobyt: To nie jest opcja migracji, ale masz możliwość zakupu dodatkowych aktualizacji zabezpieczeń na okres do trzech lat. Wokół tej opcji istnieją ograniczenia. Licencjobiorca musi mieć aktywny pakiet Software Assurance dla tych wystąpień lub licencji subskrypcyjnych w ramach umowy Enterprise Agreement. Jeśli dotyczy to Ciebie, ta opcja może dać Ci więcej czasu na planowanie i migrację z SQL Server 2008/2008 R2.
Sprawdzone metody migracji
Podczas przeprowadzania migracji lub aktualizacji należy pamiętać o pewnych rzeczach. Po pierwsze, potrzebujesz linii bazowych i nie mogę tego wystarczająco podkreślić. Za każdym razem, gdy wprowadzasz zmianę w środowisku, musisz być w stanie zmierzyć, jak ta zmiana wpływa na środowisko. Znajomość kluczowych wskaźników wydajności dla Twojego środowiska może pomóc w rozwiązywaniu problemów związanych z postrzeganym wpływem. Możesz ręcznie zbierać te metryki za pomocą perfmon i DMV lub zainwestować w platformę monitorowania wydajności. O obu technikach pisałem bardziej szczegółowo w poprzednim poście, a teraz możesz otrzymać przedłużoną, 45-dniową ocenę SentryOne . Posiadanie podstawowych metryk dla takich rzeczy, jak wykorzystanie procesora, zużycie pamięci, metryki dysku i inne, może szybko poinformować, czy po uaktualnieniu lub migracji sytuacja wygląda lepiej lub gorzej.
Należy również zanotować opcje konfiguracji w ramach swojej instancji. Wiele razy byłem proszony o obejrzenie instancji SQL Server po aktualizacji lub migracji i stwierdziłem, że większość domyślnych ustawień jest w użyciu. Jeśli stary system jest nadal dostępny, mogę wysłać do niego zapytanie i uzyskać poprzednie wartości niestandardowe, które były na miejscu, i zastosować je w nowym środowisku, aby przywrócić je do znanej konfiguracji. Zawsze dobrze jest przejrzeć sys.configuration na serwerze produkcyjnym, aby rozważyć wprowadzenie podobnych zmian w nowym środowisku (próg kosztów równoległości, maksymalny stopień równoległości, optymalizacja pod kątem obciążeń ad hoc i więcej). Zauważ, że napisałem „rozważ”. Jeśli liczba rdzeni lub pamięci jest inna na nowym serwerze, musisz skonfigurować ustawienia, biorąc pod uwagę rozmiar nowego serwera.
Jaki jest twój plan wycofania się, jeśli coś pójdzie nie tak? Czy masz odpowiednie kopie zapasowe, do których możesz wrócić? W większości przypadków uaktualnienia lub migracji przenosisz się na nową maszynę wirtualną lub serwer fizyczny. Powrót po awarii może polegać na powrocie na stary serwer. Jeśli w nowej wersji SQL Server nastąpiła zmiana danych, powrót po awarii jest znacznie bardziej skomplikowany. Nie można przywrócić kopii zapasowej bazy danych programu SQL Server z nowszej wersji programu SQL Server do starszej wersji.
Wniosek
Jeśli nadal korzystasz z SQL Server 2008 lub SQL Server 2008 R2, masz kilka dostępnych opcji, aby zachować zgodność po 9 lipca 2019 r. Aby pozostać na SQL Server 2008 lub SQL Server 2008 R2, możesz kupić dodatkowe aktualizacje zabezpieczeń lub przejdź na maszynę wirtualną platformy Azure, jeśli się kwalifikujesz. Jeśli możesz przeprowadzić uaktualnienie, możesz przeprowadzić migrację do obsługiwanej wersji SQL Server lokalnie lub na maszynie wirtualnej platformy Azure albo rozważyć migrację do rozwiązania zarządzanego, takiego jak Azure SQL Database lub Azure SQL Managed Instance.