Pobierz - Cezary Ołtuszyk
Transkrypt
Pobierz - Cezary Ołtuszyk
SQL SERVER 2012: Unikamy błędów podczas przesiadki Cezary Ołtuszyk coltuszyk.wordpress.com SQL Server 2012: Unikamy błędów podczas przesiadki Plan spotkania I. Wprowadzenie do tematu II. Trochę wiedzy administracyjnej (ale tylko trochę ) III. Narzędzie SQL Server Upgrade Advisor IV. Zmiany powodujące błąd V. Funkcjonalności, które wyszły z użycia VI. Zmiany zachowania silnika SQL VII. Podsumowanie SQL Server 2012: Unikamy błędów podczas przesiadki Wprowadzenie do tematu Przejście na nową platformę bazodanową zawsze wiąże się z dwoma (podstawowymi) pytaniami: 1. Jaki zysk będę miał z przesiadki? 2. Jakie jest z tym związane ryzyko? Do nas należy ocena, czy dana przesiadka jest dla nas opłacalna, czy też nie Podczas tej sesji będziemy niwelować zagrożenia !!! SQL Server 2012: Unikamy błędów podczas przesiadki Trochę wiedzy administracyjnej (ale tylko trochę ) Zanim przeniesiemy nasze oprogramowanie powinniśmy zaznajomić się z edycjami SQL Server 2012 oraz porównać ich możliwości. Microsoft udostępnia opis które edycje starych serwerów można przenieść na nowe w odpowiedniej wersji. Generalna zasada Microsoftu: Na te same wersje lub wyższe http://msdn.microsoft.com/enus/library/ms143393.aspx SQL Server 2012: Unikamy błędów podczas przesiadki Trochę wiedzy administracyjnej (ale tylko trochę ) Przedstawiony wcześniej scenariusz dotyczy jedynie instancji SQL Servera, a nie aplikacji jaką przenosimy. Jako developerzy możemy zrobić po swojemu Należy jednak pamiętać o 2 rzeczach: - Limitach poszczególnych edycji - Zaawansowanych funkcjach SQL Server-a http://msdn.microsoft.com/enus/library/cc645993.aspx SQL Server 2012: Unikamy błędów podczas przesiadki SQL Server Upgrade Advisor Doskonałym narzędziem pozwalającym na sprawdzenie zagrożeń związanych ze zmianą wersji SQL Servera na nowszą jest SQL Server Upgrade Advisor. Narzędzie to można pobrać bezpłatnie z witryny Microsoft Download Center: http://www.microsoft.com/enus/download/details.aspx?id=29065&ocid= aff-n-in-loc--pd Pozwala ono na dość łatwe „odsianie” większości problemów związanych z przesiadką. SQL Server 2012: Unikamy błędów podczas przesiadki Zmiany powodujące błąd Microsoft opublikował listę zmian, które podczas przejścia na SQL Server 2012 mogą powodować wygenerowanie błędu w starszych aplikacjach. Kilka z nich to: - Nazywanie tabel słowami zastrzeżonymi (WITHIN i NEXT) - Użycie klauzuli PIVOT w rekursywnym CTE - Użycie czteroczłonowej nazwy w instrukcji ALTER TABLE -Poprawa XQuery działania niektórych http://technet.microsoft.com/enus/library/ms143729.aspx funkcji SQL Server 2012: Unikamy błędów podczas przesiadki Funkcjonalności, które wyszły z użycia Kolejną ważną sprawą podczas planowania migracji na nowszy silnik SQL jest przeanalizowanie, czy nie używamy funkcjonalności, które właśnie wyszły z użycia, np: - Poziom kompatybilności 80 (SQL 2000) - Funkcja DATABASEPROPERTY - Hint o nazwie FASTFIRSTROW - Użycie RAISERROR bez nawiasów - Warunki łączenia typu *= - SQL Mail http://technet.microsoft.com/enus/library/ms144262.aspx SQL Server 2012: Unikamy błędów podczas przesiadki Zmiany zachowania silnika SQL Jedną z najbardziej frustrujących pułapek, na jaką można się natknąć przechodząc na nową wersję SQL Server jest zmiana jego dotychczasowych zachowań. Problem ten jest o tyle „wredny”, że dotychczasowy kod „teoretycznie” działa. Praktycznie jednak działanie jest inne niż zakładaliśmy: - Funkcja SOUNDEX może dawać różne wyniki w zależności zgodności bazy od poziomu - Funkcja exist() typu XML zmieniła swoje dotychczasowe zachowanie podczas porównywania wartości NULL http://technet.microsoft.com/enus/library/ms143359.aspx SQL Server 2012: Unikamy błędów podczas przesiadki Podsumowanie Dobrze przemyślmy fazę przejścia na nową wersję i oceńmy ryzyka z tym związane Sprawdźmy nasze aplikacje za pomocą SQL Server Upgrade Advisor Uważajmy na nowe słowa zastrzeżone i linked servery Sprawdźmy jakie funkcjonalności Server-a wyszły z użycia SQL Uważajmy na zmiany zachowania silnika !!! Przetestujmy nasze aplikacje na nowej platformie