Microsoft SQL Server 2008

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

Autor: Randy Dyess

Opublikowano: 17 września 2008

Zawartość strony
 Co nowego pod względem Zarządzania?   Co nowego pod względem Zarządzania?
 Co nowego pod względem Skalowalności?   Co nowego pod względem Skalowalności?
 Co nowego pod względem Wydajności?   Co nowego pod względem Wydajności?
 Co nowego pod względem Wysokiej Dostępności?   Co nowego pod względem Wysokiej Dostępności?
 Co nowego pod względem Bezpieczeństwa?   Co nowego pod względem Bezpieczeństwa?
 Jak wygląda oferta dla programistów?   Jak wygląda oferta dla programistów?
 Co nowego pod względem Analizy Biznesowej?   Co nowego pod względem Analizy Biznesowej?
 Podsumowanie   Podsumowanie

Po raz kolejny firma Microsoft opublikowała nową wersję SQL Server, która niesie ze sobą obietnicę poprawy życia administratorów baz danych. Ostatnia wersja SQL Server 2008 oferuje szeroki zakres nowych funkcji i funkcjonalności znacznie usprawniających administrację.

Administratorzy baz danych, którzy mieli okazję pracować z SQL Server® 2005, znajdą w nowej wersji wiele takich samych funkcji, jakie wykorzystywali w codziennych zadaniach. Jednak szybko zauważą również, że te znane narzędzia zostały w wersji SQL Server 2008 ulepszone. Nowa funkcjonalność zbudowana na bazie istniejących funkcji w dużym stopniu redukuje liczbę dostosowań i obejść, które były kiedyś niezbędne do zastosowania różnych funkcji w złożonych środowiskach bazodanowych.

Nowe funkcje SQL Server 2008 obejmują szeroki zakres ról i zadań bazodanowych, co utrudnia ich kategoryzację. Autor niniejszego artykułu, klasyfikując funkcje do różnych grup tematycznych, zdawał sobie sprawę, że część czytelników zdziwi umieszczenie Funkcji X w Kategorii Y, gdyż wyraźnie zalicza się ona do Kategorii Z. Wszystko zależy od perspektywy, czyli od sposobu działania konkretnej firmy.

Naturalnie, osobom zajmującym się bazami danych często zdarza się realizować wiele różnych ról, jednak w tym artykule nowe funkcje podzielono na następujące, ogólne kategorie: Zarządzanie, Skalowalność, Wydajność, Wysoka dostępność, Bezpieczeństwo, Rozwój oraz Analiza Biznesowa.

Co nowego pod względem Zarządzania?

Dodatkowa funkcjonalność zarządzania czyni SQL Server 2008 bardzo interesującym nowym produktem dla administratorów baz danych. Nowe zarządzanie zasadami, możliwość wykonywania kwerend na wielu serwerach, serwery konfiguracji oraz technologie Data Collector/Management Data Warehouse oferują wiele nowych możliwości dla administratorów baz danych, którzy są często odpowiedzialni za zarządzanie rozległymi i złożonymi środowiskami bazodanowymi z setkami lub tysiącami baz danych na dziesiątkach lub nawet setkach serwerów.

Funkcja SQL Server 2008 Policy Management, która w wersjach Community Technology Preview (CTP) nosiła nazwę Declarative Management Framework, umożliwia nam tworzenie i wykonywanie zasad konfiguracji na jednym lub wielu serwerach baz danych. Dzięki tym zasadom możemy zagwarantować, że standardowe ustawienia konfiguracji będą stosowane i utrzymywane na każdym docelowym serwerze i w każdej docelowej bazie danych. Przykład tej funkcji można zobaczyć na Rysunku 1.

Zasada Data and Log File Location Best Practice

Rysunek 1: Zasada Data and Log File Location Best Practice.

Zasady są tworzone na podstawie predefiniowanego zestawu aspektów (ang. facet). Każdy aspekt zawiera podgrupę ustawień konfiguracji SQL Server 2008 oraz inne podlegające kontroli zdarzenia. Te aspekty łączymy z warunkami w celu stworzenia zasady. Warunki to dopuszczalne wartości właściwości aspektu, ustawień konfiguracyjnych lub innych zdarzeń znajdujących się w aspekcie.

Warunki stanowią również wartości wykorzystywane w filtrach zasad. Powiedzmy, że chcemy, aby zasada była wykonywana tylko w określonej bazie danych. W tym przypadku tworzymy warunek, który zawiera nazwę bazy danych, a następnie dodajemy ten warunek do zasady. Teraz zasada będzie stosowana w tej jednej bazie danych. Funkcja SQL Server 2008 Policy Management może wydawać się skomplikowana, ale gdy tylko spróbujemy jej użyć, od razu zauważymy, że jest ona bardzo intuicyjna.

Nowe możliwości Multiple Server Interaction oraz Configuration Servers przydają się, gdy musimy wykonywać kwerendy na wielu serwerach w tym samym czasie. Możemy zarejestrować serwery w Management Studio, a następnie umieścić je w jednej grupie. Gdy musimy wykonać zasadę lub kwerendę na wszystkich serwerach w grupie, wystarczy, że prawym przyciskiem myszy klikniemy grupę i wykonamy odpowiednią czynność.

Dodatkową korzyścią jest to, że możemy skonfigurować tę funkcję tak, aby zwracała po jednym zestawie wynikowym dla każdego serwera lub scalała wszystkie zestawy wynikowe w jeden duży zestaw wynikowy. Możemy również określić, czy chcemy, aby nazwy serwera i bazy danych stanowiły część wyników, abyśmy mogli rozróżnić zestawy wynikowe z poszczególnych serwerów. Dużą zaletą jest również możliwość składowania zarejestrowanych serwerów na serwerze konfiguracji zamiast w Management Studio każdej jednostki.

Kolejną przydatną nową funkcją zarządzania jest Data Collector. Administratorzy baz danych często muszą zbierać dane zarządzania z wielu serwerów i dużą część z nich stworzyła w tym celu swoje własne niestandardowe rozwiązania. Data Collector stanowi wbudowany mechanizm, który ułatwia zbieranie danych związanych z zarządzaniem. Umożliwia nam wykorzystywanie usług SQL Server Agent oraz SQL Server Integration Services (SSIS) do tworzenia struktury, która zbiera i magazynuje dane, zapewniając jednocześnie obsługę błędów, inspekcje i historię kolekcji.

W odróżnieniu od rozwiązań zewnętrznych i niestandardowych zadań, Data Collector będzie zrozumiały dla większości administratorów baz danych, ponieważ wykorzystuje usługi SQL Server Agent oraz SSIS do tworzenia zestawu zadań i pakietów do obsługi połączeń, kolekcji i magazynowania danych (jak widać na Rysunku 2). Gdy dane te zostaną umieszczone w lokalizacji centralnej, o nazwie Management Data Warehouse, mogą być wyświetlane i organizowane za pomocą zestawu instrukcji T-SQL oraz raportów SQL Server 2008 Reporting Services. Ten centralny magazyn danych znacznie ułatwia analizowanie i wyświetlanie ogólnych metryk zarządzania dla środowiska bazodanowego.

Plik dziennika Data Collector Disk Usage

Rysunek 2: Plik dziennika Data Collector Disk Usage.

 Do początku strony Do początku strony

Co nowego pod względem Skalowalności?

Administratorzy baz danych z pewnością zauważyli, że ich środowiska bazodanowe stają się z roku na rok coraz większe. Wzrost rozmiaru środowisk bazodanowych powoduje, że potrzebujemy nowych metod oraz narzędzi w celu zapewniania skalowalności, jakiej oczekuje większość przedsiębiorstw. SQL Server 2008 wprowadził kilka nowych, pomocnych funkcji.

SQL Server 2008 posiada wbudowany mechanizm kompresji, która umożliwia kompresowanie plików bazy danych oraz plików dziennika transakcji powiązanych ze skompresowaną bazą danych. SQL Server 2005 oferował możliwość kompresowania danych w plikach lub grupach plików tylko do odczytu, ale ta forma kompresji wykorzystywała po prostu mechanizm kompresji Windows® NTFS. Wraz z SQL Server 2008 otrzymujemy funkcje kompresji na poziomie wierszy oraz na poziomie stron, które oferują korzyści, jakich nie zapewnia nam kompresja na poziomie plików danych.

Kompresja na poziomie wierszy oraz stron redukuje wymaganą ilość miejsca na dane, a także zmniejsza ilość wymaganej pamięci, ponieważ dane w pamięci pozostają skompresowane. Skompresowane dane w pamięci skutkują zwiększeniem stopnia eksploatacji pamięci, co w wielu systemach przynosi korzyści pod względem skalowalności.

SQL Server 2008 wprowadza również kompresję na poziomie kopii zapasowych. Choć kopie zapasowe baz danych tworzą jedynie kopię aktywnej części bazy danych, nadal oznaczać to może zużycie setek gigabajtów, a nawet dziesiątek terabajtów. W środowiskach bazodanowych, które zawierają więcej niż jedną kopię wieloterobajtowego pliku kopii zapasowej, kopie zapasowe często zajmują wartościową powierzchnię magazynową, która mogłaby być wykorzystywana w sposób bardziej efektywny. Umożliwiając administratorom baz danych kompresowanie plików kopii zapasowych, SQL Server 2008 uwalnia część tej powierzchni, dzięki czemu może być ona wykorzystywana do przechowywania bieżących danych.

Dodatkowym narzędziem jest Resource Governor. Ta nowa funkcja pozwala nam na definiowanie ilości zasobów, które poszczególne obciążenia robocze lub ich grupy mogą wykorzystywać podczas wykonania. Dzięki funkcji Resource Governor możemy stworzyć środowisko, w którym różne obciążenia robocze istnieją obok siebie na jednym serwerze, bez obaw, że jeden lub kilka z tych obciążeń przytłoczy serwer i obniży wydajność innych obciążeń roboczych.

Zaletą tej funkcji jest to, że możemy bardziej efektywnie wykorzystywać całkowitą ilość zasobów, które są dostępne na serwerach baz danych. Rysunek 3 prezentuje przykład zastosowania narzędzia Resource Governor do ograniczania aktywności na serwerze.

Rysunek 3: Ograniczanie aktywności przy użyciu narzędzia Resource Governor

USE master

go



--Usunięcie funkcji 

IF OBJECT_ID('rgclassifier_demo','Function') IS NOT NULL

DROP FUNCTION rgclassifier_demo

go



--Stworzenie funkcji klasyfikatora dla grupy raportów

CREATE FUNCTION rgclassifier_demo() RETURNS SYSNAME 

WITH SCHEMABINDING

AS

BEGIN

    DECLARE @group_name AS SYSNAME

  IF (USER_NAME() LIKE '%Launch_Demo%')

         SET @group_name = 'demogroup'

    RETURN @group_name

END

GO



--Usunięcie grupy obciążeń roboczych pochodzących z Management Studio

IF EXISTS (SELECT name FROM sys.resource_governor_workload_groups 

  WHERE name = 'demogroup')

BEGIN

  DROP WORKLOAD GROUP demogroup

END

GO



--Stworzenie grupy obciążeń roboczych

CREATE WORKLOAD GROUP demogroup

GO



--Zarejestrowanie funkcji klasyfikatora 

-- przy użyciu narzędzia Resource Governor

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= dbo.rgclassifier_demo)

GO



--Modyfikacja grupy obciążeń roboczych dbogroup tak, aby dozwolone było jedynie 

--zużycie 10% CPU dla każdego żądania obciążenia roboczego 

ALTER WORKLOAD GROUP demogroup

WITH (REQUEST_MAX_CPU_TIME_SEC = 10)

GO



--Stworzenie nowej puli zasobów i ustawienie maksymalnego limitu CPU dla wszystkich obciążeń roboczych.

IF EXISTS (SELECT name FROM sys.resource_governor_resource_pools

  WHERE name = 'pooldemo')

DROP RESOURCE POOL pooldemo

GO

  

CREATE RESOURCE POOL pooldemo

WITH (MAX_CPU_PERCENT = 40)

GO



--Skonfigurowanie grupy obciążeń roboczych tak, aby wykorzystywały one 

--nową pulę zasobów. 

ALTER WORKLOAD GROUP demogroup

USING pooldemo

GO



--Zastosowanie zmian w konfiguracji narzędzia Resource Governor

--w pamięci.

ALTER RESOURCE GOVERNOR RECONFIGURE

GO

 Do początku strony Do początku strony

Co nowego pod względem Wydajności?

Ogólna wydajność baz danych została podniesiona w wersji SQL Server 2008. Dzięki kilku nowym funkcjom wersji SQL Server 2008 możemy kontrolować i monitorować wydajność baz danych oraz aplikacji, które są wykonywane z ich wykorzystaniem.

W sytuacji gdy w ciągu każdej sekundy realizowanych jest wiele transakcji, blokowanie, które zwykle pojawia się w ramach tych transakcji, może mieć negatywny wpływ na wydajność aplikacji bazodanowych. SQL Server został zaprojektowany tak, aby redukować całkowitą liczbę blokad utrzymywanych przez proces, poprzez eskalowanie blokad z mniejszych blokad na poziomie wierszy oraz stron do większych blokad na poziomie tabel. Jednak trzeba mieć świadomość, że ta eskalacja blokad może powodować problemy. Na przykład pojedyncza transakcja może zablokować całą tabelę i uniemożliwić innym transakcjom jej wykorzystanie.

SQL Server 2008 współpracuje z mechanizmem partycjonowania tabeli (który został wprowadzony w wersji SQL Server 2005), aby umożliwić silnikowi SQL Server eskalowanie blokad do poziomu partycji przed poziomem tabeli. Ten pośredni poziom blokowania może dramatycznie zredukować skutki eskalacji blokad w systemach, które muszą przetwarzać setki lub nawet tysiące transakcji na sekundę.

SQL Server 2008 oferuje kilka nowych ulepszeń procesora kwerend w sytuacjach, w których kwerenda podejmuje interakcję z partycjonowaną tabelą. Optymalizator kwerend może obecnie realizować wyszukiwania z wykorzystaniem partycji podobnie jak w przypadku wykorzystania poszczególnych indeksów, używając jedynie identyfikatora partycji, a nie mechanizmu partycjonowania na poziomie tabeli.

 Do początku strony Do początku strony

Co nowego pod względem Wysokiej Dostępności?

W miarę jak środowiska bazodanowe stają się coraz bardziej złożone, a rozmiar baz danych zwiększa się, zapewnienie dostępności baz danych staje się coraz trudniejsze. Znane mechanizmy wykorzystywane w przeszłości do osiągania wysokiej dostępności są nadal obecne w SQL Server 2008. Jednak część tych funkcji została w wersji SQL Server 2008 ulepszona i dodane zostały pewne nowe funkcje.

W wersji SQL Server 2005 wielu administratorów rozpoczęło implementację mechanizmu Database Mirroring w celu osiągnięcia wysokiej dostępności. SQL Server 2008 oferuje wiele ulepszeń tego mechanizmu. Na przykład w przeszłości Database Mirroring miewał czasem problemy z wydajnością związane z przenoszeniem danych dziennika transakcji z głównych baz danych do lustrzanych. Z tego względu SQL Server 2008 redukuje obecnie ilość informacji, przenoszonych za pośrednictwem sieci z dziennika transakcji głównej (principal) bazy danych do dziennika transakcji lustrzanej (mirrored) bazy danych, kompresując informacje przed ich wysłaniem.

Obecnie mamy możliwość naprawienia uszkodzonych stron danych w głównej bazie danych. Jeśli główna baza danych dozna uszkodzenia stron danych w związku z błędami 823 oraz 824, może zażądać świeżej kopii tych stron danych od serwerów lustrzanych. To żądanie prawidłowych stron danych stanowi automatyczny proces, który pozostaje niewidoczny dla użytkowników aktualnie uzyskujących dostęp do głównych baz danych.

Inna nowa funkcja Hot Add CPU umożliwia nam dodawanie nowych procesorów do serwera bazodanowego bez wpływu na dostępność baz danych znajdujących się na tym serwerze. Jednak powinniśmy zdawać sobie sprawę z pewnych ograniczeń funkcji Hot Add CPU. Jest ona przydatna tylko w bazujących na 64-bitowym procesorze Itanium środowiskach Windows Server® 2008 Enterprise Edition lub Datacenter Edition, a ponadto wymaga edycji SQL Server 2008 Enterprise Edition.

 Do początku strony Do początku strony

Co nowego pod względem Bezpieczeństwa?

SQL Server 2005 wprowadził zabezpieczenie danych w postaci szyfrowania danych. W SQL Server 2008 szyfrowanie zostało znacznie ulepszone poprzez wprowadzenie dwóch funkcji: Extensible Key Management oraz Transparent Data Encryption.

Funkcja Extensible Key Management umożliwia zastosowanie rozszerzonej struktury do bezpiecznego magazynowania kluczy wykorzystywanych w infrastrukturze szyfrowania, nie tylko w samej bazie danych, ale również poza nią w modułach programowych od zewnętrznych dostawców lub w sprzętowym module bezpieczeństwa.

Transparent Data Encryption oferuje podniesioną elastyczność w zakresie szyfrowania danych, dzięki czemu szyfrowanie danych może stanowić właściwość bazy danych, a nie tylko wynik działania funkcji w kodzie. W efekcie administratorzy nie muszą realizować wielu zmian w strukturze bazy danych oraz kodzie aplikacji, które są konieczne, gdy szyfrowanie jest realizowane na poziomie danych. Kod na Rysunku 4 pokazuje, w jaki sposób możemy szyfrować bazę danych przy użyciu funkcji Transparent Data Encryption.

Rysunek 4: Wykorzystanie funkcji Transparent Data Encryption

USE master;

GO



--Stworzenie klucza głównego

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YouWillNeedToCreateAStrongPassword';

GO



-- Stworzenie certyfikatu do wykorzystania w TDE

CREATE CERTIFICATE TDECERT WITH SUBJECT = 'TDECert'

GO



--Zmiana bazy danych poddawanej szyfrowaniu

USE AdventureWorks

GO



-- Stworzenie klucza głównego naszej bazy danych

CREATE DATABASE ENCRYPTION KEY

WITH ALGORITHM = AES_128 –Wykorzystanie algorytmu silnego

ENCRYPTION BY SERVER CERTIFICATE TDECERT

GO



--Modyfikacja bazy danych w celu poddania jej szyfrowaniu przy użyciu głównego

-- klucza bazy danych

ALTER DATABASE AdventureWorks

SET ENCRYPTION ON

GO

 Do początku strony Do początku strony

Jak wygląda oferta dla programistów?

Administratorzy baz danych nie są jedynymi osobami, które odniosą bezpośrednie korzyści w wyniku zmian wprowadzonych w wersji SQL Server 2008. Istnieje wiele nowych funkcji, które zostały zaprojektowane z myślą o programistach baz danych. Obejmują one między innymi zestaw rozszerzeń języka T-SQL, a także nowe komponenty, które mogą pomóc programistom w tworzeniu i wykorzystywaniu kwerend bazodanowych.

Wielu programistów baz danych jest odpowiedzialnych za tworzenie kwerend, które służą do dostarczania danych wymaganych przez aplikacje. Większość czytelników słyszała prawdopodobnie o narzędziu LINQ (Language Integrated Query). Dzięki niemu programiści mogą wykonywać kwerendy w bazie danych przy użyciu języku programowania bazującego na Microsoft® .NET zamiast zwykłych instrukcji T-SQL. SQL Server 2008 wzbogaca narzędzie LINQ, oferując nowego dostawcę LINQ to SQL, który umożliwia programistom wykonywanie poleceń LINQ bezpośrednio na tabelach i kolumnach SQL Server. Dzięki temu tworzenie nowych kwerend danych zajmuje mniej czasu.

Programując z użyciem baz danych, programiści wykorzystują wysokopoziomowe obiekty, które mapują do poszczególnych tabel i kolumn bazodanowych. Obiekty te, zwane również encjami (ang. entity), reprezentują dane potrzebne aplikacjom bazodanowym. Dzięki temu programista nie musi rozumieć rzeczywistej struktury magazynu danych oraz schematu bazy danych. Nowa struktura ADO.NET Entity Framework umożliwia programistom tworzenie kwerend bazodanowych przy użyciu encji. Abstrakcja wewnętrznej struktury bazy danych pozwala zwiększyć produktywność programistów.

SQL Server 2008 oferuje wiele różnych ulepszeń języka T-SQL które mogą podwyższać efektywność programistów baz danych. Jednym z przykładów jest nowa instrukcja MERGE, która umożliwia programiście sprawdzenie, czy dane istnieją, przed próbą ich wstawienia. To sprawdzenie przed wykonaniem instrukcji INSERT pozwala na modyfikację danych. Już nie trzeba tworzyć skomplikowanych złączeń, aby zmodyfikować istniejące dane i wstawić dane, które jeszcze nie istnieją - wszystko w ramach jednej instrukcji.

Ponadto ułatwione zostało rozdzielanie danych godziny i daty od łączonego typu danych data/godzina. SQL Server 2008 wprowadza dwa osobne typy danych do obsługi danych daty i godziny. Różne typy danych będą prowadziły do zwiększenia wydajności wielu kwerend, ponieważ nie będzie już konieczne wykonywanie operacji na danych przed wykorzystaniem ich w kwerendzie.

W przypadku tworzenia nowszych struktur baz danych programistom często muszą naginać strukturę w celu zaimplementowania aplikacji do obsługi map. SQL Server 2008 pomaga w radzeniu sobie z tym problemem, wprowadzając nowe typy danych przestrzennych. Dwa typy danych przestrzennych: GEOGRAPHY oraz GEOMETRY umożliwiają programistom składowanie specyficznych dla lokalizacji danych bezpośrednio w bazie danych, bez konieczności dzielenia ich na formaty dopasowane do standardowych typów danych. Kod na Rysunku 5 stanowi przykład prostej tabeli przestrzennej.

Rysunek 5: Prosta tabela przestrzenna

IF OBJECT_ID ( 'Demo_SpatialTable', 'Table' ) IS NOT NULL 

    DROP TABLE Demo_SpatialTable

GO



--Stworzenie tabeli do przechowywania danych przestrzennych

CREATE TABLE Demo_SpatialTable 

    ( SpatialID int IDENTITY (1,1),

    SpatialInputCol geography, 

    SpatialOutputCol AS SpatialInputCol.STAsText() )

GO



--Wstawienie danych do tabeli

INSERT INTO Demo_SpatialTable (SpatialInputCol)

VALUES (geography::STGeomFromText('LINESTRING(47.656 -122.360, 47.656 -122.343)', 4326));



INSERT INTO Demo_SpatialTable (SpatialInputCol)

VALUES (geography::STGeomFromText('POLYGON((47.653 -122.358, 47.649 -122.348, 47.658 -122.348, 47.658 -122.358, 47.653 -122.358))', 4326));

GO



--Wyświetlenie danych w celu sprawdzenia danych przekonwertowanych i umieszczonych w col2

SELECT * FROM Demo_SpatialTable

W przeszłości programiści baz danych często mieli problem z określeniem, w jaki sposób powinni przechowywać i wykorzystywać duże obiekty binarne, takie jak dokumenty oraz pliki multimedialne. Popularną metodą było przechowywanie plików poza bazą danych i umieszczanie w bazie danych jedynie wskaźnika do zewnętrznego pliku. Jednak w przypadku zastosowania tej metody, gdy przenosiliśmy plik, musieliśmy również pamiętać o uaktualnieniu wskaźnika.

SQL Server 2008 rozwiązuje ten problem przy użyciu nowego typu danych FILESTREAM. Dzięki temu typowi danych, pliki mogą być nadal przechowywane poza bazą danych, ale dane te są traktowane jako część bazy danych w kontekście spójności transakcyjnej. To umożliwia wykorzystywanie typowych operacji plikowych, przy jednoczesnym zachowaniu korzyści w zakresie wydajności oraz zabezpieczeń, jakie zapewnia baza danych.

 Do początku strony Do początku strony

Co nowego pod względem Analizy Biznesowej?

Wzrost popularności produktu SQL Server w ciągu ostatnich kilku lat jest w dużym stopniu wynikiem zaadaptowania strategii analizy biznesowej. Możliwości analizy biznesowej nie stanowią nowości w produkcie SQL Server, ale wersja SQL Server 2008 wprowadza pewne nowe funkcje w tym zakresie.

Na przykład, gdy dane są umieszczane w magazynach danych, część obszaru jest często marnowana ze względu na wartości NULL. Kolumny zawierające wartość NULL zajmują obszar równy największemu rozmiarowi danych zdefiniowanych w danej kolumnie. A to oznacza, że kolumny z tysiącami wartości NULL mogą zużywać wiele megabajtów, mimo iż w rzeczywistości nie przechowują żadnych danych.

SQL Server 2008 wprowadza kolumny rzadkie (ang. sparse), które umożliwiają składowanie wartości NULL, bez zajmowania fizycznego obszaru na dysku. Ponieważ rzadkie kolumny nie zajmują rzeczywistego obszaru, tabele zawierające kolumny rzadkie mogą przekraczać limit 1024 kolumn.

SQL Server 2008 wprowadza również nowy mechanizm o nazwie Change Data Capture, służący do zarządzania przyrostowymi zmianami, które muszą zostać załadowane do magazynu danych. Mechanizm ten przechwytuje zmienione dane i umieszcza je w zestawie tabel zmian. Przechwytywanie zmodyfikowanych, usuniętych lub wstawionych danych w łatwym w użyciu schemacie magazynu pozwala na przyrostowe ładowanie magazynów danych na podstawie tych tabel. Dzięki temu nie trzeba budować niestandardowych instrukcji wstawiania, które usiłują rozpoznać zmiany dokonane w istniejących wierszach danych przed uaktualnieniem magazynu danych.

 Do początku strony Do początku strony

Podsumowanie

Był to jedynie szybki przegląd możliwości SQL Server 2008. Wersja ta wnosi szeroki zestaw nowych funkcji oraz aktualizacji istniejących funkcji, które znacznie ułatwiają życie zarówno administratorów, jak i programistów baz danych. A co za tym idzie zapewnia dużo większą wydajność oraz skalowalność dzisiejszych, wiecznie wymagających uwagi baz danych.

O autorze

Randy Dyess jest mentorem w firmie Solid Quality Mentors. Specjalizuje się w systemach SQL Server OLTP. Randy jest autorem książki TransactSQL Language Reference Guide, współautorem MCTS Self-Paced Training Kit:Microsoft SQL Server 2005 Implementation and Maintenance (Exam70-431) oraz twórcą wielu artykułów zamieszczanych w czasopismach i biuletynach. Rand pełni również rolę dyrektora programowego grupy North Texas SQL Server Users Group oraz nosi tytuł SQL Server MVP. Warto odwiedzić jego blog o adresie blogs.solidq.com/EN/rdyess/default.aspx.

 Do początku strony Do początku strony

Microsoft SQL Server 2008