SQL Server - zaawansowane techniki rozwi - Helion

ebook
Autor: Dmitri KorotkevitchISBN: 9788375415018
stron: 520, Format: ebook
Data wydania: 2022-12-01
Księgarnia: Helion
Cena książki: 88,83 zł (poprzednio: 98,70 zł)
Oszczędzasz: 10% (-9,87 zł)
Osoby które kupowały "SQL Server - zaawansowane techniki rozwi", wybierały także:
- PL/SQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Programowanie baz danych 79,00 zł, (31,60 zł -60%)
- Java na serwerze - kurs przetrwania. Obóz drugi. Od serwletów do Spring Boota 99,00 zł, (44,55 zł -55%)
- T-SQL. Kurs video. Wykorzystanie baz danych przy użyciu niekonwencjonalnych rozwiązań. Sztuczki i gotowe rozwiązania 39,89 zł, (17,95 zł -55%)
- T-SQL. Kurs video. Programowanie baz danych w SQL Server 79,00 zł, (35,55 zł -55%)
- Podstawy programowania. Kurs video. Bazy danych 59,00 zł, (26,55 zł -55%)
Spis treści
SQL Server - zaawansowane techniki rozwiązywania problemów i poprawiania wydajności eBook -- spis treści
- Spis treści
- Wstęp
- Podziękowania
- Rozdział 1
- Instalowanie i konfigurowanie systemu bazy danych SQL Server
- Rozważania dotyczące sprzętu i systemu operacyjnego
- Procesor
- Pamięć
- Podsystem dyskowy
- Sieć
- Systemy operacyjne i aplikacje
- Wirtualizacja i środowiska chmurowe
- Konfigurowanie SQL Server
- Wersja SQL Server oraz poziom wdrożenia poprawek
- Natychmiastowa inicjalizacja pliku
- Konfigurowanie bazy tempdb
- Opcje śledzenia
- Opcje serwera
- Konfigurowanie baz danych
- Ustawienia dotyczące bazy danych
- Ustawienia związane z dziennikiem transakcji
- Pliki danych i grupy plików
- Analizowanie dziennika błędów w SQL Server
- Konsolidacja instancji i baz danych
- Efekt obserwatora
- Podsumowanie
- Zestawienie metod rozwiązywania problemów
- Rozważania dotyczące sprzętu i systemu operacyjnego
- Rozdział 2
- Model wykonawczy SQL Server i statystyka oczekiwania
- SQL Server architektura wysokopoziomowa
- SQLOS i model wykonawczy systemu
- Statystyka oczekiwania
- Dynamiczne widoki zarządzania związane z modelem wykonawczym produktu SQL Server
- sys.dm_os_wait_stats
- sys.dm_exec_session_wait_stats
- sys.dm_os_waiting_tasks
- sys.dm_exec_requests
- sys.dm_os_schedulers
- Opcja Resource Governor
- Podsumowanie
- Zestawienie metod rozwiązywania problemów
- Rozdział 3
- Działanie podsystemu dyskowego
- Anatomia podsystemu operacji wejścia i wyjścia w środowisku SQL Server
- Zarządzanie procesami oraz operacje wejścia i wyjścia
- Odczytywanie danych
- Zapisywanie danych
- Podsystem pamięci masowej analiza całościowa
- Widok sys.dm_io_virtual_file_stats
- Liczniki wydajnościowe oraz wskaźniki związane z systemem operacyjnym
- Wirtualizacja, HBA i urządzenia pamięci masowej
- Dostrajanie punktów kontrolnych
- Typy oczekiwania związane z operacjami wejścia i wyjścia
- Typ oczekiwania ASYNC_IO_COMPLETION
- Typ oczekiwania IO_COMPLETION
- Typ oczekiwania WRITELOG
- Typ oczekiwania WRITE_COMPLETION
- Typ oczekiwania PAGEIOLATCH
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Anatomia podsystemu operacji wejścia i wyjścia w środowisku SQL Server
- Rozdział 4
- Nieoptymalne zapytania
- Problem nieoptymalnych zapytań
- Statystyki wykonania oparte na magazynie planów
- Zdarzenia rozszerzone i mechanizm monitorowania SQL Trace
- Mechanizm monitorowania Query Store
- Raporty z Query Store uzyskiwane w środowisku SQL Server Management Studio
- Wykorzystywanie dynamicznych widoków zarządzania dostępnych w Query Store
- Narzędzia innych firm
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Rozdział 5
- Przechowywanie danych i dostrajanie zapytań
- Wzorce przechowywania danych i dostępu do nich
- Tabele w magazynie opartym na wierszach
- Indeksy oparte na B-drzewie
- Indeksy złożone
- Indeksy nieklastrowe
- Fragmentacja indeksu
- Statystyki i szacowanie liczności
- Obsługa statystyk
- Modele szacowania liczności
- Analiza planu wykonania
- Wykonanie w trybie wierszowym i wsadowym
- Statystyki zapytań na żywo i profilowanie statystyk wykonania
- Powszechnie spotykane problemy i przypadki nieefektywności
- Nieefektywny kod
- Nieefektywne przeszukiwanie indeksu
- Niewłaściwy typ złączenia
- Nadmierna liczba operacji wyszukiwania kluczy
- Indeksowanie danych
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Wzorce przechowywania danych i dostępu do nich
- Rozdział 6
- Obciążenie procesora
- Niezoptymalizowane zapytania i kod T-SQL
- Nieefektywny kod T-SQL
- Skrypty rozwiązujące problem wysokiego obciążenia procesora
- Wzorce niezoptymalizowanych zapytań, na które należy zwracać uwagę
- Kompilacja zapytania i buforowanie planu
- Plany zależne od parametrów
- Niezależność wartości od parametrów
- Kompilacja i parametryzacja
- Automatyczna parametryzacja
- Parametryzacja prosta
- Parametryzacja wymuszona
- Równoległość
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Niezoptymalizowane zapytania i kod T-SQL
- Rozdział 7
- Problemy związane z pamięcią
- Użycie i konfigurowanie pamięci w SQL Server
- Konfiguracja pamięci w systemie SQL
- Jaka ilość pamięci jest wystarczająca?
- Alokacje pamięci
- Administratorzy pamięci
- Polecenie DBCC MEMORYSTATUS
- Wykonywanie zapytania i przydziały pamięci
- Optymalizacja zapytań wymagających dużych ilości pamięci
- Sprzężenie zwrotne przydziału pamięci
- Zarządzanie wielkością przydziałów pamięci
- Wykorzystanie pamięci i rozwiązywanie problemów w przypadku implementacji In-Memory OLTP
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Użycie i konfigurowanie pamięci w SQL Server
- Rozdział 8
- Blokady, blokowanie i współbieżność
- Typy blokad i ich zachowanie
- Podstawowe rodzaje blokad
- Kompatybilność blokad
- Poziomy izolacji transakcji i zachowanie blokad
- Problemy związane z blokowaniem
- Rozwiązywanie w czasie rzeczywistym problemów z blokowaniem
- Użycie raportu o zablokowanych procesach
- Technologia Event Notifications i narzędzia monitorujące blokowanie
- Zakleszczenia
- Rozwiązywanie problemów związanych z zakleszczeniami
- Blokowanie i indeksy
- Optymistyczne poziomy izolacji
- Poziom izolacji READ COMMITTED SNAPSHOT
- Poziom izolacji SNAPSHOT
- Blokady schematu
- Eskalacja blokad
- Rozwiązywanie problemów z eskalacją blokad
- Typy oczekiwania związane z blokadami
- Typ oczekiwania LCK_M_U
- Typ oczekiwania LCK_M_S
- Typ oczekiwania LCK_M_X
- Typy oczekiwania LCK_M_SCH_S i LCK_M_SCH_M
- Typy oczekiwania LCK_M_I* związane z blokadami intencjonalnymi
- Typy oczekiwania LCK_M_R* związane z blokadami zakresów
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Typy blokad i ich zachowanie
- Rozdział 9
- Użycie bazy tempdb i optymalizacja jej wydajności
- Obiekty tymczasowe użycie i najlepsze wzorce postępowania
- Tabele tymczasowe i zmienne tabelaryczne
- Buforowanie obiektów tymczasowych
- Parametry tabelaryczne
- Zwykłe tabele w bazie tempdb i rejestrowanie transakcji
- Wewnętrzne klienty bazy danych tempdb
- Magazyn wersji
- Przekazywanie danych do bazy tempdb
- Typowe problemy związane z bazą tempdb
- Współzawodniczenie o strony systemowe
- Brak wolnego miejsca
- Konfigurowanie bazy tempdb
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Obiekty tymczasowe użycie i najlepsze wzorce postępowania
- Rozdział 10
- Zatrzaski
- Wprowadzenie do zatrzasków
- Zatrzaski stronicowe
- Przeciwdziałanie powstawaniu hotspotów opcja indeksu OPTIMIZE_FOR_SEQUENTIAL_KEY
- Przeciwdziałanie powstawaniu hotspotów partycjonowanie haszujące
- Przeciwdziałanie powstawaniu hotspotów mechanizm In-Memory OLTP
- Inne typy zatrzasków
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Rozdział 11
- Dziennik transakcji
- Wewnętrzne mechanizmy dziennika transakcji
- Modyfikacje danych i rejestrowanie transakcji
- Wpływ transakcje zatwierdzanych jawnie oraz automatycznie na rozmiar dziennika
- Opóźnione utrwalanie
- Rejestrowanie transakcji w technologii In-Memory OLTP
- Wirtualne pliki dziennika
- Konfigurowanie dziennika transakcji
- Problemy związane z obcinaniem dziennika
- Oczekiwanie typu LOG_BACKUP na ponowne użycie dziennika
- Oczekiwanie typu ACTIVE_TRANSACTION na ponowne użycie dziennika
- Oczekiwanie typu AVAILABILITY_REPLICA na ponowne użycie dziennika
- Oczekiwanie typu DATABASE_MIRRORING na ponowne użycie dziennika
- Oczekiwanie typu REPLICATION na ponowne użycie dziennika
- Oczekiwanie typu ACTIVE_BACKUP_OR_RESTORE na ponowne użycie dziennika
- Inne metody rozwiązywania problemów
- Accelerated Database Recovery
- Wydajność dziennika transakcji
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Wewnętrzne mechanizmy dziennika transakcji
- Rozdział 12
- Grupy dostępności AlwaysOn
- Sposób działania grup dostępności AlwaysOn
- Rodzaje kolejek w grupie dostępności
- Replikacja synchroniczna i niebezpieczeństwo związane z typem oczekiwania HADR_SYNC_COMMIT
- Zdarzenia rozszerzone związane z grupą dostępności
- Replikacja asynchroniczna a węzły drugorzędne z uprawnieniami tylko do odczytu
- Wpływ węzłów drugorzędnych z uprawnieniami tylko do odczytu
- Równoległy proces powtarzania
- Rozwiązywanie problemów związanych ze zdarzeniami trybu awaryjnego
- Grupy dostępności i klaster pracy awaryjnej serwera Windows
- Rozwiązywanie problemów z awariami
- Kiedy nie wystąpi przejście do trybu awaryjnego?
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Rozdział 13
- Inne ważne typy oczekiwania
- Typ oczekiwania ASYNC_NETWORK_IO
- Typ oczekiwania THREADPOOL
- Typy oczekiwania związane z kopiami zapasowymi
- Poprawa wydajności tworzenia kopii zapasowych
- Opcje BUFFERCOUNT i MAXTRANSFERSIZE
- Częściowe kopie zapasowe bazy danych
- Typy oczekiwania HTBUILD i inne HT*
- Typy oczekiwania związane z wywłaszczaniem
- Typ oczekiwania PREEMPTIVE_OS_WRITEFILEGATHER
- Typ oczekiwania PREEMPTIVE_OS_WRITEFILE
- Typy oczekiwania związane z uwierzytelnieniem
- Typy oczekiwania OLEDB
- Typy oczekiwania podsumowanie
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Rozdział 14
- Schemat bazy danych i analiza indeksów
- Analiza schematu bazy danych
- Tabele będące stertą
- Indeksy dla typu danych uniqueidentifier
- Rozległe i nieunikatowe indeksy klastrowe
- Niezaufane klucze obce
- Nieindeksowane klucze obce
- Indeksy nadmiarowe
- Wysokie wartości w kolumnach identyfikacyjnych
- Analiza indeksów
- Widok sys.dm_db_index_usage_stats
- Widok sys.dm_db_index_operational_stats
- Podejście holistyczne procedura składowana sp_Index_Analysis
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Analiza schematu bazy danych
- Rozdział 15
- SQL Server w środowisku wirtualnym
- Wirtualizować czy nie wirtualizować? Oto jest pytanie
- Konfigurowanie SQL Server w środowisku wirtualnym
- Planowanie konfiguracji sprzętowej
- Konfigurowanie procesora
- Pamięć RAM
- Pamięć masowa
- Sieć komputerowa
- Zarządzanie dyskami wirtualnymi
- Strategia i narzędzia wykorzystywane podczas tworzenia kopii zapasowych
- Rozwiązywanie problemów w środowiskach wirtualnych
- Niewystarczająca moc procesora
- Presja pamięci
- Wydajność podsystemu dyskowego
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Rozdział 16
- SQL Server w chmurze
- Platformy chmurowe ogólna analiza
- Niezawodność platformy
- Zarządzanie poziomem wydajności
- Topologia
- Rozważania dotyczące komunikacji i obsługa błędów tymczasowych
- Dostęp do instancji bazy danych
- Błędy tymczasowe
- SQL Server w chmurowych maszynach wirtualnych
- Konfiguracja podsystemu wejścia i wyjścia oraz jego wydajność
- Konfiguracja mechanizmu wysokiej dostępności
- Opóźnienia międzyregionalne
- Zarządzane usługi Microsoft Azure SQL
- Rozważania dotyczące architektury i projektowania usług
- Sposoby rozwiązywania problemów
- Usługa SQL Server RDS w Amazon AWS
- CloudWatch
- Performance Insights
- Usługa Cloud SQL firmy Google
- Podsumowanie
- Podsumowanie metod rozwiązywania problemów
- Platformy chmurowe ogólna analiza
- Dodatek A
- Typy oczekiwania
- ASYNC_IO_COMPLETION
- ASYNC_NETWORK_IO
- BACKUPBUFFER
- BACKUPIO
- BTREE_INSERT_FLOW_CONTROL
- CXCONSUMER
- CXPACKET
- DIRTY_PAGE_TABLE_LOCK
- DPT_ENTRY_LOCK
- EXCHANGE
- HADR_GROUP_COMMIT
- HADR_SYNC_COMMIT
- HTBUILD
- HTDELETE, HTMEMO, HTREINIT oraz HTREPARTITION
- IO_COMPLETION
- LATCH_*
- LCK_M_*
- LCK_M_I*
- LCK_M_R*
- LCK_M_S
- LCK_M_SCH_M
- LCK_M_SCH_S
- LCK_M_U
- LCK_M_X
- LOGBUFFER
- OLEDB
- PAGEIOLATCH*
- PAGELATCH
- PARALLEL_REDO_FLOW_CONTROL
- PARALLEL_REDO_TRAN_TURN
- PREEMPTIVE_OS_ACCEPTSECURITYCONTEXT
- PREEMPTIVE_OS_AUTH*
- PREEMPTIVE_OS_LOOKUPACCOUNTSID
- PREEMPTIVE_OS_WRITEFILE
- PREEMPTIVE_OS_WRITEFILEGATHER
- QDS*
- RESOURCE_SEMAPHORE
- RESOURCE_SEMAPHORE_QUERY_COMPILE
- THREADPOOL
- WRITE_COMPLETION
- WRITELOG
- O autorze
- Kolofon
- Polecamy także