Eksperymentuj z #sqlserver

W październiku w ramach #sql4You, pojawiły się dwa wpisy dotykające kwestii migracji baz danych. W pierwszym z nich, poruszona została możliwość przeniesienia bazy danych na platformę Azure, drugi dotyczył przeniesienia bazy z innej platformy bazodanowej na Microsoft SQL Server. Temat jest stosunkowo interesujący dla wielu osób, zwłaszcza, że w przypadku migracji z innych platform istnieje opcja uzyskania interesującej oferty migracyjnej. Dodatkowo pod koniec października pojawiły się dwa zupełnie nowe narzędzia, które mogą wesprzeć chęć podniesienia obecnie wykorzystywanej wersji SQL Server.

W przypadku projektu migracji do nowej wersji SQL Server najczęściej pojawiają się dwa kluczowe pytania:

  • Czy obecna baza danych może być bez problemu przeniesiona na nowszą wersję?
    oraz drugie, często o wiele bardziej trudne do zaadresowania
  • Czy aktualnie korzystająca aplikacja/system z bazy danych będzie poprawnie działała z nową wersją platformy?

Odpowiedzi na te dwa pytania pozwolą uzyskać, dwa narzędzia oddane do użytku przez Microsoft pod koniec października. Pierwsze to Database Migration Assistant, narzędzie, które jest młodszym bratem SQL Server Upgrade Advisor. Korzystając z DMA istnieje możliwość przeprowadzenia projektu oceny możliwości migracji bazy danych (Assessment) oraz samej migracji (Migration). W ramach projektu weryfikacji oraz migracji zostają poddane:

  • Schemat bazy danych
  • Dane i użytkownicy
  • Role serwerowe
  • Loginy Windows oraz SQL

Dodatkowo bardzo ważnym elementem funkcjonalnym jest informacja o potencjalnych wyzwaniach 🙂 związanych z podniesieniem wersji tzn.:

  • Breaking changes
  • Zmiany w zachowaniu zapytań / funkcji / procedur
  • Wycofywane funkcjonalności

Warto również zwrócić uwagę na możliwość wykorzystania DMA do analizy pod kątem nowych funkcjonalności platformy SQL Server w zakresie bezpieczeństwa, wydajności (columnstore,in-memory) czy przechowywania danych (strech database).

DMA jest dostępny do pobrania na stronach Microsoft Download Center.

Z mojej perspektywy o wiele ciekawiej zapowiada się zupełnie nowy twór Database Experimentation Assistant (v1 Preview). DEA (nie mylić z amerykańską agencją rządową 🙂 ) pozwala zweryfikować gotowość, jednak nie bazy danych, ale konkretnego zestawu aktywności (workload-u) wykonywanego na bazie danych. Innymi słowy, jeśli dysponujesz starszą wersją SQL Server (od 2005), możesz, korzystając z DEA, zarejestrować aktywność swojej aplikacji/systemu, a następnie odtworzyć zarejestrowane aktywności na docelowo planowanej wersji SQL Server. Narzędzie na podstawie zarejestrowanych aktywności dokonuje oceny pod kątem m.in. błędów kompatybilności, zmiany planów wykonania, spadku wydajności zapytań. Do rejestrowania i odtworzenia aktywności narzędzie wykorzystuje mechanizmy Distributed Replay & SQL tracing. Dodatkowo, wyniki opatrzone są analizą statystyczną zarejestrowanych aktywności oraz raportami pozwalającymi na wizualizację wyników analizy.

DEA wspiera następujące wersje:

Źródłowe: SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, and SQL Server 2016
Docelowe: SQL Server 2012, SQL Server 2014, and SQL Server 2016
Aktualne wersja zapoznawcza do pobrania z Microsoft Download Center