Microsoft SQL Server 2008

Co nowego w SQL Server 2008 R2 Udostępnij na: Facebook

Opublikowano: 25 listopada 2009
Autor: Bartłomiej Graczyk

Zawartość strony
SQL Server 2008 R2 na „szóstkę”...  SQL Server 2008 R2 na „szóstkę”...
SQL Server Utility, czyli jak sprawniej zarządzać dużym środowiskiem( w oparciu o August CTP)  SQL Server Utility, czyli jak sprawniej zarządzać dużym środowiskiem( w oparciu o August CTP)
Kilka słów podsumowania  Kilka słów podsumowania

 

Na początku sierpnia 2009 r. Microsoft opublikował nową wersję platformy bazodanowej, czyli Microsoft SQL Server 2008 R2, która oznaczona została jako August Community Technology Preview. Na początu listopada wydana została kolejna wersja tymrazem z oznaczeniem November Technology Preview. Warto przypomnieć, że SQL Server 2008 R2 to wcześniejszy SQL Server code name Kilimanjaro. Finalny produkt spodziewany jest w pierwszym kwartale 2010 r., jednak już teraz możemy poznać nowe funkcje, które mają zachęcić do aktualizacji. Poniższy artykuł to przegląd najistotniejszych zaimplementowanych nowości. Warto zaznaczyć w tym miejscu, że opisywane funkcje mogą ulec zmianie do czasu wydania wersji finalnej SQL Server 2008 R2.

SQL Server 2008 R2 na „szóstkę”...

  1. Jeszcze więcej mocy....

    Zgodnie z zapowiedziami, nowa wersja platformy bazodanowej ma swobodnie radzić sobie z symetrycznym przetwarzaniem wieloprocesorowym i wykorzystywać do tego nawet 256 logicznych procesorów.

  2. Zarządzanie wieloma serwerami.

    SQL Server Utility to rozwiązanie, które ma usprawnić zarządzanie wieloma instancjami serwerów bazodanowych Microsoft (SQL Server Database Engine). Dzięki wykorzystaniu UCP, czyli centralnego repozytorium konfiguracji i badania wydajności, administrator uzyskuje znacznie lepszy wgląd w zarządzane środowisko serwerów, co znacznie ułatwia mu działanie w zakresie implementacji polityk dla serwerów bazodanowych w obrębie firmy, analizę trendów wykorzystania zasobów przez poszczególne serwery, a tym samym przewidywanie potencjalnych wąskich gardeł w pracy serwerów. Koncepcja SQL Server Utility oraz konfiguracja rozwiązania zostaną szczegółowo omówione w drugiej części artykułu. Warto tutaj zauważyć, że ten obszar uległ niewielkim zmianom od momentu jego implementacji w August Technology Preview. November CTP wprowadza kilka dodatkowych usprawnień w działaniu SQL Server Utility

  3. Nowy obszar Getting Started w SQL Server Management Studio.

  4. Poprawiona wydajność i skalowalność.

  5. Dopracowanie procesu usuwania instnacji z SQL Server Utility.

  6. Pojawiły się przykładowe skrypty do konfiguracji UCP, podłączania instancji oraz jej usuwania.

  7. Data-tier Application.

    Koncepcją uzupełniającą SQL Server Utility jest Data-tier Application, czyli kontener obiektów serwerowych i bazodanowych wykorzystywanych w ramach określonej aplikacji (np. tabele, widoki, loginy, użytkownicy). Administrator/programista uzyskuje możliwość stworzenia pliku Data-tier Application Component (.dacpac), który pozwala znacząco uprościć i usprawnić proces przygotowywania, implementacji i konfiguracji środowisk bazodanowych na potrzeby aplikacji.

  8. SQL Server Power Shell.

    Wersja SQL Server 2008 R2 wprowadza nowe foldery SQLSERVER:\Utility oraz SQLSERVER:\DAC dla wsparcia konfiguracji wspomnianych funkcji (SQL Server Utility and Data-tier Application).

  9. Kompresja dla typów unicode (Unicode Compression).

    Kompresja unicode’owych danych zastosowana w wersji R2 serwera została zaimplementowana w oparciu o Standardową Kompresję dla Unicode (SCSU). Algorytm kompresuje wartości, które są przechowywane w obrębie wiersza bądź strony. Dla wszystkich kolumn typu nchar(x) i nvarchar(x) kompresja SCSU jest stosowana automatycznie i zapewnia nawet 50-proc. oszczędność przestrzeni w porównaniu z zajmowaną przez dane nieskompresowane.

  10. Jeszcze lepszy BI.

    Wersja R2 wprowadza również poważne zmiany w obszarze rozwiązań BI. Wśród najbardziej zauważalnych znajduje się aplikacja Report Builder 3.0, która poza dopracowanymi funkcjami oferuje również obsługę wizualizacji danych geograficznych. Zwieńczeniem rozszerzeń i usprawnień w obszarze BI zgodnie z zapowiedziami mają być rozwiązania typu self-service reporting oraz self-service analysis. Szczegóły dotyczące usprawnień można znaleźć w obszarze informacji o Project Gemini znanym już pod oficjalną nazwą Microsoft SQL Server PowerPivot for Excel.

Tak w dużym skrócie prezentują się najbardziej zauważalne zmiany i usprawnienia Microsoft SQL Server 2008 R2. Lista ta będzie zapewne jeszcze ulegała modyfikacjom przed powstaniem finalnej wersji, jednak zanim to nastąpi, chciałbym dokładniej przedstawić funkcje centralizacji zarządzania, czyli SQL Server Utility.

 Do początku strony Do początku strony

SQL Server Utility, czyli jak sprawniej zarządzać dużym środowiskiem( w oparciu o August CTP)

Oczekiwany przez administratorów model zarządzania serwerami SQL zakłada możliwość objęcia zakresem działania zarówno instancji serwerów SQL, plików baz danych, jak i informacji o wykorzystaniu zasobów obliczeniowych (procesora) oraz dyskowych (storage). Najważniejszym celem jest centralizacja zarządzania. W wersji SQL Server 2008 R2 wprowadzony zostaje pojedynczy punkt zarządzania/wdrożenia (single unit of deployment). Dzięki zastosowaniu wspomnianego rozwiązania zwiększy się wydajność pracy administratorów w zakresie zmian, upgrade’ów i monitorowania wielu serwerów jednocześnie.

Koncepcja rozwiązania Multi-Server Management

Rysunek 1: Koncepcja rozwiązania Multi-Server Management.

Wprowadzenie do zarządzania grupą serwerów

Podstawowe pojęcia

Control Point Explorer – obszar dostępny w SQL Server Management Studio, Control Point Explorer wykorzystywany jest jako punkt wejścia (org. the entry point), funkcja, umożliwiająca zarządzanie grupą serwerów. W aktualnej wersji CTP komponent nosi nazwę Utility Explorer.

SQL Server Control Point (SCP) – instancja SQL Server przeznaczona do utrzymywania relacji z innymi instancjami serwerów SQL (zarządzanymi przez SQL Server Utility). W aktualnej wersji CTP komponent nazwany jest Utility Control Point (UCP).

Managed Server Group – opisuje grupę serwerów SQL (instancji serwerów SQL) podłączonych do SQL Server Control Point, gdzie gromadzone są dane o wykorzystaniu ich zasobów.

SCP (SQL Server Control Point) to element niezbędny dla rozpoczęcia pracy ze zdefiniowaną grupą serwerów. W ramach instancji skonfigurowanej jako SCP przez SQL Server Management Studio (SSMS) uzyskujemy dostęp do obszaru zarządzania CPE (Control Point Explorer). Rolą SCP jest zapewnienie centralnego zarządzania wszystkimi serwerami w grupie. SCP zawiera informacje o konfiguracji oraz dane dotyczące wydajności, zebrane z zarządzanych instancji serwerów SQL – SCP pełni rolę centralnego repozytorium. Uzyskane próbki danych są na bieżąco porównywane z założeniami polityk (globalnych dla grupy bądź lokalnych dla poszczególnych instancji) zdefiniowanych na SCP, aby ułatwić administratorowi identyfikację wąskich gardeł oraz dostarczyć informacji o potencjalnych możliwościach konsolidacji serwerów (np. w przypadku minimalnego wykorzystania zasobów). SCP zawiera również dane do analiz scenariuszy typu what-if.

Control Point Explorer (jako funkcja SQL Server Management Studio) pozwala analogicznie jak obszar Object Explorera, czyli za pomocą hierarchii drzewiastej, poruszać się i zarządzać wybranymi serwerami w grupie, definiować polityki, przeglądać raporty (prezentowane są w postaci pulpitu informacyjnego).

Dashboard wizualizujący wykorzystanie instancji i aplikacji

Rysunek 2: Dashboard wizualizujący wykorzystanie instancji i aplikacji.

W tym miejscu na podstawie raportu dokładnie zobaczymy, jak został podzielony model zarządzania grupą serwerów SQL Server. Są to trzy warstwy:

  • Data-tier Applications – aplikacje warstwy danych,
  • SQL Server Runtimes – instancje serwerów SQL wykorzystywane w ramach infrastruktury,
  • zasoby sprzętowe – zasoby wykorzystywane przez SQL Server Runtimes do pracy (dyski, procesory).

Konfiguracja SQL Server Managed Server Group

Znając zarys funkcji i koncepcję działania SQL Utility, można zapoznać się z kolejnymi krokami implementacji rozwiązania.

Konfiguracja SQL Server Control Point

Konfiguracja SCP odbywa się przez obszar Control Explorer Point w SQL Server Management Studio, a dokładnie przez uruchomienie kreatora konfiguracji (Create Control Point Wizard). W tym celu z menu View w SQL Server Management Studio należy wybrać Utility Explorer, a następnie Create UCP.

Uruchomienie kreatora Control Point

Uruchomienie kreatora Control Point

Rysunek 3: Uruchomienie kreatora Control Point.

Uruchomiony kreator (Create Control Point Wizard) prezentuje stronę tytułową i rozpoczyna konfigurację obszaru zarządzania, która obejmuje:

– konfigurację instancji do roli SCP,

– utworzenie zadań (jobs),

– polityki (policie) klasyfikacji serwerów,

– repozytorium danych w postaci bazy danych (management data warehouse),

– utworzenie kolekcji danych przez moduł Data Collection (znany z SQL Server 2008).

Strona tytułowa kreatora konfiguracji

Rysunek 4: Strona tytułowa kreatora konfiguracji.

Kreator podczas konfiguracji prosi o wskazanie instancji SQL Server, która ma zostać przygotowana do roli punktu zarządzania (SQL Server Control Point). W tym samym czasie można również nadać nazwę tworzonemu punktowi zarządzania. Na prezentowanym przykładzie serwerem pełniącym rolę UCP (SCP) będzie instancja domyślna (SERVER), a punkt nazwano Test Utility Point.

Wskazanie instancji, która będzie pełnić rolę SCP, oraz nazwy tworzonego punktu

Rysunek 5: Wskazanie instancji, która będzie pełnić rolę SCP, oraz nazwy tworzonego punktu.

Kolejnym etapem konfiguracji jest wybór konta używanego przez SQL Server Agent w ramach zdefiniowanej grupy (Ważne! Konto musi być kontem domenowym), na którym realizowane będą cykliczne operacje pobierania i ładowania do bazy informacji o wykorzystaniu zasobów poszczególnych instancji serwerów. Jedną z opcji konfiguracji jest użycie głównego konta, na którym działa usługa SQL Server Agent (co miało miejsce w prezentowanym przykładzie).

Wybór konta dla SQL Server Agent

Rysunek 6: Wybór konta dla SQL Server Agent.

Po wskazaniu konta następuje weryfikacja warunków konfiguracji UCP. Sprawdzane są m.in.:

– edycja serwera SQL (tylko MS SQL Server Enterprise Edition),

– działanie SQL Server Agenta (status usługi),

– wersje (Build) silnika bazy danych.

Pełna lista wymagań zaprezentowana została na rysunku 7.

Sprawdzanie zgodności instancji z wymaganiami konfiguracyjnymi

Rysunek 7: Sprawdzanie zgodności instancji z wymaganiami konfiguracyjnymi.

Na zakończenie działania kreatora wyświetlane jest podsumowanie dokonanych wyborów.

Strona podsumowania konfiguracji

Rysunek 8: Strona podsumowania konfiguracji.

Po zatwierdzeniu wyboru kreator rozpoczyna konfigurację UCP.

Postęp konfiguracji UCP

Rysunek 9: Postęp konfiguracji UCP.

Dołączanie instancji serwerów SQL do SQL Server Control Point

Poprawne skonfigurowanie punktu kontroli (control point) pozwala na dołączenie instancji, którymi administrator będzie zarządzał w ramach zdefiniowanej grupy serwerów.

W celu dołączenia instancji do SCP należy uruchomić kreator konfiguracji z obszaru Control Point Explorer w SQL Server Management Studio (obecnie: Utility Explorer). Należy kliknąć prawym przyciskiem myszy na zakładce Control Point Explorer i wybrać Managed Instances, a następnie Add Managed Instance.

Lokalizacja wywołania kreatora dołączania instancji

Rysunek 10: Lokalizacja wywołania kreatora dołączania instancji.

Podobnie jak w przypadku konfiguracji SCP, przy dodawaniu instancji korzystamy z kreatora dołączania, który rozpoczyna się stroną tytułową. Po poprawnym dołączeniu nowy serwer będzie standardowo co 15 minut komunikował się ze wskazanym SCP i wysyłał dane dotyczące wykorzystania zasobów danej instancji.

Kreator dołączania – strona tytułowa

Rysunek 11: Kreator dołączania – strona tytułowa.

Połączenie z instancją, która ma zostać dodana

Rysunek 12: Połączenie z instancją, która ma zostać dodana.

Wybór instancji do przyłączenia

Rysunek 13: Wybór instancji do przyłączenia.

Analogicznie jak w przypadku konfiguracji SCP, podczas dołączania instancji należy wskazać konto dla SQL Server Agent, który odpowiedzialny będzie za ładowanie danych do bazy SCP.

Wybór konta dla SQL Server Agent

Rysunek 14: Wybór konta dla SQL Server Agent.

Wprowadzenie danych niezbędnych do dołączenia instancji powoduje uruchomienie walidacji instancji, która podobnie jak SCP musi spełniać wymagania konfiguracyjne. Poprawna walidacja kończy proces przygotowania do podłączenia instancji do SCP.

Walidacja wymagań dla serwera członkowskiego grupy

Rysunek 15: Walidacja wymagań dla serwera członkowskiego grupy.

Strona podsumowania dla konfigurowanej instancji i zatwierdzenie wyboru rozpoczyna proces konfiguracji.

Konfiguracja dołączanej instancji

Rysunek 16: Konfiguracja dołączanej instancji.

Wykorzystanie skonfigurowanej grupy serwerów do centralnego zarządzania

Obszar Utility Explorer Content to graficzna reprezentacja aktualnego stanu wykorzystania zasobów zarządzanych serwerów. UEC jest centralnym miejscem zbudowanego rozwiązania, głównym raportem informacyjnym. W raporcie, w obszarze Managed Instance Health, znajdują się informacje o wykorzystaniu instancji serwerów w podziale na kategorie:

– Well Utilized,

– Overutulized,

– Underutilized,

– No Data Available.

W centralnym punkcie raportu zamieszczono podsumowanie dotyczące całkowitej liczby zarządzanych instancji (Utility Sumary).

Podsumowanie całkowitej liczby zarządzanych instancji (Utility Sumary)

Rysunek 17: Podsumowanie całkowitej liczby zarządzanych instancji (Utility Sumary).

Stan serwera określany jest na podstawie warunków użycia zasobów. Na przykład serwer zostanie ujęty w kategorii overutilized, jeżeli będzie spełniony któryś z następujących warunków:

  • Wykorzystanie procesora w ramach danej instancji przekracza procentową wartość zadeklarowaną jako górny próg użycia zasobów.
  • Całkowite obciążenie procesora dla serwera, na którym instancja SQL jest utrzymywana, przekracza założone maksimum.
  • Instancja serwera SQL zawiera pliki danych bądź logów, których użycie (zapełnienie) osiągnęło maksymalne wartości określone dla tej instancji.

Analogicznie wyznaczane i klasyfikowane są serwery w grupie underutilized, z tym że warunki klasyfikacji wiążą się z niewykorzystywaniem zasobów określonych jako wartości minimalne.

Warunki klasyfikacji standardowo zostają określone na podstawie globalnej polityki stosowanej dla wszystkich zarządzanych instancji. Ustawienia globalnych polityk dostępne są w Utility Administration obszaru Control Utility Explorer. Administrator może swobodnie dobrać kryteria, w zależności od środowiska i grupy serwerów, którymi zarządza. Ustawienia dotyczą zarówno wykorzystania procesora, jak również plików danych czy logu transakcyjnego.

Definicja wartości granicznych w klasyfikacji serwerów

Rysunek 18: Definicja wartości granicznych w klasyfikacji serwerów.

Jeżeli natomiast w grupie serwerów zarządzanych znajdują się takie, dla których polityka globalna jest zbyt restrykcyjna bądź za mało restrykcyjna, administrator, korzystając z obszaru Utility Explorer – Managed Instances, może określić indywidualne ustawienia klasyfikacji obejmujące standardowe obszary monitorowania dla SCP, czyli procesor oraz pliki danych i logu transakcyjnego.

Konfiguracja indywidualnych polityk klasyfikacji serwerów

Rysunek 19: Konfiguracja indywidualnych polityk klasyfikacji serwerów.

W celu zapewnienia obiektywnej oceny stanu serwerów administrator może również zdefiniować okno czasowe i oraz liczbę prób, których wartości muszą przekroczyć graniczne, aby instancja została zaliczona do jednej ze wspomnianych kategorii wykorzystania zasobów. Dla przykładu, jeżeli w godzinnym oknie czasowym wartości użycia procesora zostaną sprawdzone cztery razy (co 15 minut) i 20% wykonanych prób (czyli w zaokrągleniu jedna) przyniesie informacje o wartościach przekraczających graniczną, instancja zostanie oznaczona jako overutilized.

Definicja okna czasowego kryterium klasyfikacji

Rysunek 20: Definicja okna czasowego kryterium klasyfikacji.

W ramach zarządzanej grupy serwerów administrator w każdej chwili może wyświetlić najbardziej podstawowe informacje o instancjach, ich wersjach, edycjach czy ustawieniach takich jak collation bądź server type.

Informacje szczegółowe o zarządzanych instancjach

Rysunek 21: Informacje szczegółowe o zarządzanych instancjach.

 Do początku strony Do początku strony

Kilka słów podsumowania

Zaprezentowana funkcja SQL Utility, wdrożona za pomocą konfiguracji SQL Server Control Point, daje olbrzymie możliwości centralizacji zarządzania zasobami i podejmowania strategicznych decyzji podczas planowania wielkości przestrzeni dyskowych oraz mocy obliczeniowych funkcjonujących i nowych serwerów w infrastrukturze firmy. Warto również zauważyć, że omawiana funkcja jest swego rodzaju uzupełnieniem wprowadzonego w wersji SQL Server 2008 Data Collection, którego celem była centralizacja gromadzenia informacji. SQL Utility zapewnia też definiowanie warunków i klasyfikowanie serwerów. Warto dodać, że informacje dostarczane do SQL Server Control Point de facto pobierane są za pomocą mechanizmów kolekcji danych, o kolekcjach danych można zaś przeczytać w jednym z poprzednich artykułów (Performance Studio w SQL 2008, część 1 i część 2).


Bartłomiej Graczyk, analityk biznesowy i konsultant technologiczny
W ostatnich latach uczestnik wielu projektów, w których pełnił rolę projektanta, konsultanta technologicznego i analityka biznesowego w zakresie rozwiązań działających na platformie Microsoft SQL Server 2000/2005/2008, Sybase ASA/ASE, Oracle. Twórca autorskich rozwiązań i aplikacji bazodanowych m.in. dla Mars Polska, Polskapresse, Polskiej Telefonii Cyfrowej (Era), Rohe Polska, AGITO SA, Polbanku, PKP SA.
Od 2007 roku Microsoft Certified Trainer, prowadził autoryzowane szkolenia Microsoft w ramach współpracy z największymi ośrodkami szkoleniowymi w Polsce, m.in. ABC Data Centrum Edukacyjne i Combidata. W ramach działalności trenerskiej brał również udział w projektach szkoleniowych dla sektora publicznego: Kancelarii Prezesa Rady Ministrów, Centralnego Biura Antykorupcyjnego, Agencji Bezpieczeństwa Wewnętrznego, GIODO.
Inicjator offline’owej grupy Microsoft w Łodzi, autor artykułów na stronach Microsoft TechNet i w czasopismach branżowych.
Posiada certyfikaty: MCT, MCITP: Database Administrator, Database Developer, Business Intelligence Developer, MCDBA, MCSE, MCSA, Microsoft Certified Business Management Solutions Specialist & Professional for Microsoft Dynamics CRM 4.0.
 Do początku strony Do początku strony

Microsoft SQL Server 2008