Co nowego w SQL Server 2008

Opublikowano: 18 czerwca 2008

Najnowsza udostępniona wersja silnika bazy danych SQL Server wprowadza nowe funkcje i ulepszenia zwiększające moc i produktywność architektów, programistów oraz administratorów, którzy projektują, rozwijają i utrzymują systemy składowania danych.

*
Zawartość strony
Co nowego w wersji October CTPCo nowego w wersji October CTP
Co nowego w wersji July CTPCo nowego w wersji July CTP
Co nowego w wersji June CTPCo nowego w wersji June CTP

Co nowego w wersji October CTP

Kompresja kopii zapasowych

Edycja SQL Server 2008 Enterprise Edition oraz późniejsze wspierają kompresję kopii zapasowych, a każda edycja SQL Server 2008 lub nowsza potrafi przywracać skompresowane kopie zapasowe.

Serwery konfiguracji

SQL Server 2008 wprowadza nową metodę administrowania wieloma serwerami, umożliwiając wyznaczanie serwerów konfiguracji. Instancja SQL Server wyznaczona jako serwer konfiguracji utrzymuje listę zarejestrowanych serwerów.

Śledzenie zmian

Śledzenie zmian SQL Server umożliwia aplikacjom uzyskiwanie przyrostowych modyfikacji tabel użytkowników. Gdy wymagana jest synchronizacja dwustronna, śledzenie zmian dodatkowo umożliwia aplikacjom sprawdzanie konfliktów danych. Dzięki zintegrowaniu mechanizmu śledzenia zmian z SQL Server 2008 programiści nie muszą już tworzyć skomplikowanych, niestandardowych rozwiązań do śledzenia zmian.

Gdy funkcje śledzenia zmian nie były jeszcze zintegrowane z serwerem SQL Server, programiści często musieli tworzyć niestandardowe rozwiązania do śledzenia zmian, które wykorzystywały kombinację wyzwalaczy, kolumn sygnatury czasowej oraz innych dodatkowych kolumn i tabel. Teraz rozwijanie aplikacji do synchronizacji jest łatwiejsze i mniej czasochłonne.

Więcej informacji znaleźć można w artykule Tracking Changes to Data.

Magazyn FILESTREAM

Magazyn FILESTREAM umożliwia aplikacjom SQL Server składowanie nieustrukturyzowanych danych, takich jak dokumenty oraz obrazy, w systemie plików. Dzięki temu aplikacje klienckie mogą wykorzystywać zaawansowane interfejsy API do obsługi strumienia oraz wysoce wydajny system plików, utrzymując jednocześnie transakcyjną spójność między danymi nieustrukturyzowanymi a odpowiadającymi im danymi ustrukturyzowanymi.

Funkcja Hot Add CPU

SQL Server 2008 wspiera dynamiczne dodawanie procesorów do działającego systemu. Dodawanie procesorów może mieć charakter fizyczny (poprzez dodanie nowego sprzętu), logiczny (poprzez odpowiednie przydzielanie mocy procesorów podczas pracy systemu) lub wirtualny (poprzez warstwę wirtualizacji).

Ulepszenia obiektów Plan Guide

Procedura składowana sp_create_plan_guide została rozszerzona tak, wynik wykonania Showplan XML przekazywany był bezpośrednio jako parametr @hints zamiast sprowadzania go do postaci wskazówki USE PLAN. To upraszcza proces stosowania stałych planów kwerend w roli wskazówek Plan Guide. Co więcej, nowa procedura składowana sp_create_plan_guide_from_cache umożliwia tworzenie jednego lub więcej obiektów Plan Guide na podstawie planu kwerendy przechowywanego w pamięci podręcznej planów.

Istnieje możliwość tworzenia wielu obiektów Plan Guide typu OBJECT lub SQL dla tej samej kwerendy oraz wsadu lub modułu. Jednak w danym momencie aktywny może być tylko jeden z tych obiektów.

Nowa funkcja systemowa sys.fn_validate_plan_guide może zostać wykorzystana do sprawdzania poprawności obiektu Plan Guide. Obiekty Plan Guide mogą stać się nieprawidłowe w wyniku modyfikacji fizycznego projektu bazy danych np. usunięcia indeksu. Sprawdzając poprawność obiektu Plan Guide, można określić, czy niezmieniony plan może zostać wykorzystany przez optymalizatora kwerend.

Nowe klasy zdarzeń Plan Guide Successful oraz Plan Guide Unsuccessful ułatwiają weryfikowanie, czy obiekty Plan Guide wykorzystywane są przez optymalizatora kwerend. Gdy SQL Server nie może wygenerować planu wykonania na kwerendy zawierającej Plan Guide, kwerenda jest automatycznie kompilowana bez wykorzystania obiektu Plan Guide. Zdarzenie Plan Guide Unsuccessful pojawia się, gdy wstępna kompilacja Plan Guide zostaje zakończona niepowodzeniem.

Nowe liczniki Guided Plan Executions/sec oraz Misguided Plan Executions/sec w SQL Server, SQL Statistics Object mogą posłużyć do monitorowania liczby wykonań planów, w których plan kwerendy został z powodzeniem lub bez wygenerowany przy użyciu obiektu Plan Guide.

Operacje, takie jak tworzenie, usuwanie, uaktywnianie, dezaktywowanie lub tworzenie skryptu obiektu Plan Guide, mogą być realizowane przy użyciu SQL Server Management Studio. Obiekty Plan Guide pojawiają się w folderze Programmability w oknie Object Explorer.

Przetwarzanie kwerend w obiektach partycjonowanych

SQL Server 2008 poprawia wydajność przetwarzania kwerend w tabelach partycjonowanych dla wielu równoległych planów, zmienia sposób, w jaki plany równoległe i seryjne są reprezentowane, a także rozszerza informacje o partycjonowaniu dostarczane w planach wykonania w czasie kompilacji oraz wykonania.

Przełączanie partycji w tabelach i indeksach partycjonowanych

Partycjonowanie danych pozwala na szybkie i efektywne zarządzanie i uzyskiwanie dostępu do podzbiorów danych z zachowaniem integralności całej kolekcji danych. Obecnie można wykorzystywać przełączanie między partycjami w celu szybkiego i efektywnego przesyłania podzbiorów danych poprzez przełączanie partycji z jednej tabeli do innej.

Resource Governor

Resource Governor stanowi funkcję, która może posłużyć do zarządzania obciążeniem roboczym i wykorzystaniem zasobów systemowych SQL Server. Resource Governor umożliwia ustalanie limitu przydziału procesora i pamięci dla żądań wysyłanych przez aplikacje. Więcej informacji znaleźć można w artykule Managing SQL Server Workload and Resources.

Ulepszenia zabezpieczeń

Extensible Key Management

Funkcja Extensible Key Management (EKM) w edycjach Enterprise, Developer oraz Evaluation serwera SQL Server 2008 umożliwia zewnętrznym dostawcom rozwiązań służących do zarządzania kluczami korporacji oraz dostawcom modułów zabezpieczania sprzętowego (HSM) rejestrowanie własnych urządzeń w SQL Server. Po przeprowadzeniu rejestracji użytkownicy SQL Server mogą wykorzystywać klucze szyfrowania składowane w tych modułach oraz zaawansowane funkcje szyfrowania wspierane przez te moduły, takie jak masowe szyfrowanie/deszyfrowanie oraz funkcje zarządzania wieloma kluczami, takie jak przedawnianie klucza oraz rotacja kluczy. Funkcja ta pozwala również na ochronę danych przed administratorami bazy danych (za wyjątkiem członków grupy sysadmin). Dane mogą być szyfrowane i deszyfrowane przy użyciu instrukcji kryptograficznych Transact-SQL, a SQL Server wykorzystuje zewnętrzne urządzenie EKM w roli magazynu kluczy.

Transparent Data Encryption

Funkcja Transparent Data Encryption wprowadza nową możliwość automatycznego szyfrowania plików bazy danych, bez konieczności modyfikowania jakichkolwiek aplikacji. Funkcja ta zapobiega uzyskiwaniu dostępu do bazy danych przez nieautoryzowanych użytkowników, nawet jeśli w jakiś sposób uda im się zdobyć pliki bazy danych lub jej kopii zapasowej. Więcej informacji na temat szyfrowania bazy danych znaleźć można w artykule Understanding Transparent Data Encryption (TDE).

Administracja serwerem

W ramach nieustannych starań firmy Microsoft mających na celu obniżenie całkowitego kosztu posiadania (TCO), SQL Server 2008 wprowadza mechanizm Declarative Management - nową, bazującą na zasadach strukturę zarządzania silnikiem bazy danych SQL Server. Declarative Management przynosi następujące korzyści:

Zapewnia zgodność z zasadami konfiguracji systemu.

Blokuje lub monitoruje zmiany w systemie poprzez tworzenie zasad konfiguracji.

Redukuje całkowity koszt posiadania poprzez uproszczenie zadań administracyjnych.

Wykrywa problemy ze zgodnością w SQL Server Management Studio.

W wersji October CTP do mechanizmu Declarative Management Framework dodanych zostało wiele obiektów konfiguracyjnych Facet i obecnie zasady mogą działać w tym samym czasie na wielu serwerach:

Wyrażenia warunkowe zostały poprawione, aby wspierać funkcje wbudowane i możliwość wykonywania definiowanych przez użytkownika kwerend Transact-SQL oraz WMI/WQL.

Grupy zasad zostały zastąpione rozbudowanymi kategoriami zasad. Możliwe jest skonfigurowanie wielu kategorii aktywnych na wszystkich instancjach SQL Server. Istnieje nowe okno dialogowe służące do zarządzania kategoriami.

Wzbogacone filtrowanie zestawu celów. Warunki tworzone na obiektach Facet odpowiadających bezpośrednio obiektom SMO mogą posłużyć do filtrowania zestawu celów, do którego odnosi się zasada. Jest to znaczące rozszerzenie funkcji Condition.

Dostępne są gotowe do użycia zasady, które odpowiadają regułom narzędzia Best Practices Analyzer.

Możliwe jest wykonywanie zasad oraz instrukcji Transact-SQL na wielu serwerach zarejestrowanych lokalnie w oknie narzędzia Registered Servers.

Na przykład administrator może ustawić zasady, zgodnie z którymi aplikacja SQL Mail jest wyłączona lub procedury składowane w schemacie Marketing powinny posiadać nazwy rozpoczynające się od mk_pr_.

Składowanie, metody oraz indeksowanie danych przestrzennych

Dane przestrzenne reprezentują informacje dotyczące fizycznej lokalizacji oraz kształtu obiektów geometrycznych. Obiekty te mogą być lokalizacjami punktowymi lub bardziej złożonymi obiektami, takimi jak kraje, ulice lub jeziora.

Indeksy przestrzenne podnoszą efektywność pewnych, zorientowanych na obsługę zbiorów operacji na obiektach przestrzennych (danych przestrzennych). Indeks przestrzenny redukuje liczbę obiektów, na których muszą być wykonywane stosunkowo kosztowne operacje przestrzenne. Więcej informacji znaleźć można w artykule Working with Spatial Indexes (Database Engine).

Ulepszenia SQL Server Management Studio

Mechanizm IntelliSense w edytorze kwerend Transact-SQL

Edytor kwerend Transact-SQL zapewnia obecnie funkcjonalność IntelliSense, taką jak uzupełnianie słów oraz podkreślanie błędów. Wsparcie IntelliSense jest dostarczane dla często wykorzystywanych elementów Transact-SQL. W przyszłych wersjach zostanie ono rozszerzone na inne elementy Transact- SQL. Więcej informacji znaleźć można w artykule Using IntelliSense.

Okno Error List

SQL Server Management Studio zawiera okno Error List, które wyświetla składniowe i semantyczne błędy generowane przez IntelliSense na podstawie kodu w edytorze kwerend Transact-SQL. Więcej informacji znaleźć można w artykule Error List Window (Management Studio).

Modyfikacje kolumn w widoku sys.dm_os_sys_info

Z dynamicznego widoku zarządczego sys.dm_os_sys_info wycofano kolumnę cpu_ticks_in_ms i dodano dwie nowe kolumny sqlserver_start_time_ms_ticks oraz sqlserver_start_time. Dlatego w istniejącym kodzie należy dokonać aktualizacji wszelkich odwołań do widoku sys.dm_os_sys_info.

Ulepszenia narzędzi

SQL Server Management Studio zawiera następujące udoskonalenia proponowane przez klientów:

W oknie Query Editor można wykonać kwerendę na wielu serwerach jednocześnie, otwierając okno kwerendy dla grupy serwerów zarejestrowanych. Wyniki wykonania kwerendy mogą zostać umieszczone w jednym oknie wyników lub rozmieszczone w osobnych oknach. Więcej informacji znaleźć można w artykule Administering Multiple Servers Using Configuration Servers.

Można uzyskać dostęp do narzędzia SQL Server Profiler przy pomocy okna Query Editor - za pośrednictwem menu Query, paska narzędzi Query Editor lub poprzez naciśnięcie klawiszy CTRL+ALT+P.

Teraz można otwierać tabele przy użyciu opcji Return Top n wierszy.

Otwierając tabele, można konfigurować liczbę zwracanych wierszy.

W menu Tools/Option można określić akcję, która będzie efektem dwukrotnego kliknięcia tabeli w oknie Object Explorer.

Można uniemożliwić projektantowi tabel ponowne tworzenie tabel na czas trwania implementacji zmian projektowych.

Rozszerzenia Transact-SQL

Opcja Lock Escalation

Nowa opcja LOCK_ESCALATION instrukcji ALTER TABLE pozwala na wyłączenie eskalacji blokady tabeli. W tabelach partycjonowanych można skonfigurować blokady tak, aby były one eskalowane na partycję zamiast na całą tabelę. Opcja ta pozwala podnieść współbieżność, redukując kolizje blokad w przypadku wykorzystania tabel partycjonowanych.

Do początku stronyDo początku strony

Co nowego w wersji July CTP

Kolektor danych

SQL Server 2008 wprowadza kolektora danych (ang. data collector), którego można wykorzystywać do pozyskiwania i zapisywania danych pochodzących z wielu różnych źródeł. Kolektor danych dostarcza kontenery kolekcji danych, które mogą posłużyć do określania zakresu i częstotliwości zbierania danych w systemie SQL Server. Więcej informacji znaleźć można w artykule Introducing the Data Collector.

Database Mirroring

Zwiększenie wydajności dzienników

Kompresja danych strumieniowych, dla których można osiągnąć przynajmniej 12,5 procentowy stopień kompresji.

Zapis z wyprzedzeniem wejściowego strumienia dziennika na serwerze „mirror”.
W SQL Server 2008, gdy serwer „mirror” otrzymuje wejściowe rekordy dziennika, asynchronicznie zapisuje je na dysku i jednocześnie przetwarza rekordy dziennika, które zostały już zapisane na dysku.

Poprawione wykorzystanie buforów wysyłania dziennika (ang. log send buffer).
W SQL Server 2005 każda operacja Log-flush mechanizmu Database Mirroring na serwerze „principal” rezerwowała cały bufor wysyłania dla swoich rekordów dziennika. W SQL Server 2008, jeśli ostatnio wykorzystywana pamięć podręczna dziennika zawiera wystarczającą ilość wolnego miejsca dla rekordów dziennika następnej operacji Log-flush, rekordy te są do niej dołączane. W przeciwnym wypadku alokowana jest nowa pamięć podręczna dziennika.

Odczyt stron z wyprzedzeniem podczas fazy wycofywania (ang. undo).
Po awarii nowy serwer „mirror” musi wycofać wszystkie zmiany, dla których strona danych została zapisana lokalnie na dysku i dla których rekord dziennika nie mógł uzyskać dostępu do byłego serwera „mirror” (nowego serwera „principal”). Aby wycofać tego typu zmienione strony, serwer „mirror” musi najpierw wysłać żądanie i odebrać odpowiadające im strony z nowego serwera „principal”. Wydajność tej części fazy wycofywania została w wersji SQL Server 2008 podniesiona. Na początku fazy wycofywania serwer „mirror” wysyła do serwera „principal” wskazówki odczytu z wyprzedzeniem określające, które strony zostaną objęte przez późniejsze żądania. Po otrzymaniu wskazówki odczytu z wyprzedzeniem dla danej strony, serwer „principal” umieszcza tę stronę w swoim buforze wysyłania. Dzięki temu gdy otrzymuje żądanie dotyczące odpowiedniej strony, może odpowiedzieć natychmiast.

Automatyczne odzyskiwanie uszkodzonych stron

Partner Database Mirroring działający na wersji SQL Server 2008 lub późniejszej próbuje automatycznie naprawić pewne typy błędów, które uniemożliwiają mu odczytanie strony danych. Partner, który nie może odczytać strony, wysyła do innego partnera żądanie najnowszej kopii . Jeśli żądanie to zakończy się sukcesem, nieczytelna strona zostaje zastąpiona przez kopię, co zazwyczaj stanowi rozwiązanie problemu. Więcej informacji znaleźć można w artykule Automatic Page Repair During a Database Mirroring Session .

Ulepszenia raportowania zależności SQL

SQL Server 2008 wprowadza nowy widok katalogowy oraz funkcje systemowe, które zapewniają spójne i wiarygodne raportowanie zależności SQL. Obiekty sys.sql_expression_dependencies, sys.dm_sql_referencing_entities oraz sys.dm_sql_referenced_entities służą do raportowania zależności SQL między obiektami znajdującymi się na różnych serwerach, w różnych bazach danych lub w tej samej bazie, które są powiązane schematem bądź też nie.

SQL Server Extended Events

SQL Server 2008 wprowadza mechanizm SQL Server Extended Events, infrastrukturę zdarzeń dla systemów serwerowych. Ta publikacja mechanizmu Extended Events umożliwia ingerencje w czasie uruchomienia procesu hosta przy użyciu zdarzeń jako punktów śledzenia. Zdarzenia te mogą być agregowane w pamięci, wysyłane do pliku lub wyprowadzane do systemu Event Tracing for Windows (ETW). Więcej informacji znaleźć można w artykule Introducing SQL Server Extended Events.

Ulepszenia Transact-SQL

Wskazówki dotyczące kwerendy

Teraz można określać wskazówki dotyczące tabeli (ang. Table hint) jako wskazówki dotyczące kwerendy (ang. Query hint) w celu zapewnienia zaawansowanych opcji podnoszenia wydajności kwerendy. Zaleca się wykorzystywanie wskazówek dotyczących tabeli w roli wskazówek dotyczących kwerendy jedynie w kontekście obiektu Plan Guide. Więcej informacji znaleźć można w artykułach Query Hints (Transact-SQL) oraz Using the INDEX and FORCESEEK Query Hints in Plan Guides.

Typ danych hierarchyid

SQL Server 2008 wprowadza nowy dostarczany przez system typ danych służący do przechowywania relacji hierarchicznych. hierarchyid jako typ danych można wykorzystywać do tworzenia tabel o strukturze hierarchicznej lub do odwoływania się do struktury hierarchicznej danych w innej lokalizacji. Metody hierarchiczne mogą posłużyć do wykonywania kwerend lub pracy z danymi hierarchicznymi przy użyciu języka Transact-SQL.

Typ hierarchyid ułatwia składowanie i wykonywanie kwerend na danych hierarchicznych między innymi w następujących przykładach:

Struktura organizacyjna

System plików

Zestaw zadań w projekcie

Taksonomia terminów języka

Graf łączy między stronami sieci Web

Dla aplikacji klienckich dostępny jest powiązany typ danych CLR SqlHierarchyId.

Do początku stronyDo początku strony

Co nowego w wersji June CTP

Change Data Capture

Mechanizm Change Data Capture został zaprojektowany z myślą o przechwytywaniu operacji insert, update oraz delete zachodzących w tabelach SQL Server oraz o udostępnianiu szczegółowych informacji o tych zmianach w łatwym w użyciu formacie relacyjnym. Tabele zmian wykorzystywane przez mechanizm Change Data Capture zawierają kolumny, które odzwierciedlają strukturę kolumn śledzonej tabeli źródłowej wraz z metadanymi potrzebnymi do zrozumienia zachodzących zmian. Więcej informacji znaleźć można w artykule Using Change Data Capture.

Wydajność kwerend

Zoptymalizowanie filtrowanie bitmapowe

Optymalizator kwerend może dynamicznie umieszczać filtry bitmapowe w równoległych planach kwerend w celu poprawy wydajności kwerend zawierających złączenia w schemacie gwiazdy. Zoptymalizowane filtrowanie bitmapowe może znacznie podnieść wydajność tych kwerend magazynów danych poprzez usunięcie niekwalifikujących się wierszy z tabeli faktów we wczesnej fazie planu wykonania kwerendy. Więcej informacji znaleźć można w artykule Optimizing Data Warehouse Query Performance Through Bitmap Filtering.

Dynamiczne widoki zarządcze

Dostępnych jest pięć dynamicznych widoków zarządczych służących do prezentowania informacji o pamięci:

sys.dm_os_memory_brokers

sys.dm_os_memory_nodes

sys.dm_os_nodes

sys.dm_os_process_memory

sys.dm_os_sys_memory

Zdarzenia i liczniki wydajności

Liczniki funkcji zaniechanych

Dostępne są liczniki wydajności oraz zdarzenia śledzenia służące do śledzenia wykorzystania funkcji zaniechanych. Więcej informacji znaleźć można w artykułach SQL Server, Deprecated Features Object oraz Deprecated Database Engine Features in SQL Server 2008.

Wyzwalacze DDL oraz powiadomienia o zdarzeniach

Klasa zdarzeń, dla których można tworzyć wyzwalacze DDL oraz powiadomienia o zdarzeniach, została rozszerzona o liczne procedury składowane realizujące operacje typu DDL. Listę zdarzeń znaleźć można w artykułach DDL Events oraz DDL Event Groups. Ponadto schemat XML zdarzeń jest instalowany wraz z silnikiem bazy danych, a także dostępny w Internecie. Więcej informacji znaleźć można w artykule EVENTDATA (Transact-SQL).

Ulepszenia Transact-SQL

Instrukcja MERGE

Ta nowa instrukcja Transact-SQL wykonuje operacje INSERT, UPDATE lub DELETE na tabeli docelowej, bazując na wyniku złączenia jej z tabelą źródłową. Składnia umożliwia złączenie danych źródłowych z docelową tabelą lub widokiem, a następnie wykonywanie wielu operacji bazujących na wynikach tego złączenia. Więcej informacji znaleźć można w artykule MERGE (Transact-SQL).

Parametry z wartościami przechowywanymi w tabeli

Silnik bazy danych wprowadza nowy typ parametru, który może odwoływać się do typów tabel definiowanych przez użytkownika. Parametry z wartościami przechowywanymi w tabeli (ang. table- valued) mogą służyć do wysyłania wielu wierszy danych do instrukcji SQL Server lub procedury składowanej bądź funkcji bez konieczności tworzenia tabeli tymczasowej. Więcej informacji znaleźć można w artykule Table-Valued Parameters (Database Engine).

Definiowany przez użytkownika typ tabeli

Silnik bazy danych wprowadza nowy definiowany przez użytkownika typ tabeli, który wspiera reprezentacje struktur tabel wykorzystywane w roli parametrów procedur składowanych i funkcji bądź we wsadzie lub wewnątrz procedur składowanych i funkcji. W definiowanych przez użytkownika typach tabel można tworzyć unikatowe ograniczenia oraz klucze podstawowe.

Poziom zgodności

Instrukcja ALTER DATABASE SET COMPATIBILITY_LEVEL zastępuje procedurę składowaną sp_dbcmptlevel służącą do ustawiania poziomu zgodności bazy danych. Więcej informacji znaleźć można w artykule ALTER DATABASE Compatibility Level (Transact-SQL).

GROUPING SETS

Do klauzuli GROUP BY dodane zostały operatory GROUPING SETS, ROLLUP oraz CUBE. Istnieje nowa funkcja GROUPING_ID(), która zwraca więcej informacji o poziomie grupowania niż istniejąca funkcja GROUPING(). Niezgodna z ISO składnia WITH ROLLUP, WITH CUBE oraz ALL została zaniechana. Więcej informacji znaleźć można w artykule Using GROUP BY with ROLLUP, CUBE, and GROUPING SETS.

Wskazówki dotyczące tabeli

Dodana została wskazówka FORCESEEK, która oferuje zaawansowane opcje poprawy wydajności kwerendy. Wskazówka ta sygnalizuje, że optymalizator kwerend ma wykorzystywać tylko operację Index Seek jako ścieżkę dostępu do danych w tabeli lub widoku, do którego odwołuje się kwerenda. Więcej informacji znaleźć można w artykule Using the FORCESEEK Table Hint.

Konstruktory wierszy Transact-SQL

Język Transact-SQL został rozszerzony tak, aby umożliwiać wstawianie wielu wartości w pojedynczej instrukcji INSERT. Więcej informacji znaleźć można w artykule INSERT (Transact-SQL).


Do początku stronyDo początku strony