reklama - zainteresowany?

SQL Server. 100 najcz - Helion

SQL Server. 100 najcz
Autor: Peter A. Carter
Tytuł oryginału: 100 SQL Server Mistakes and How to Avoid Them
Tłumaczenie: Grzegorz Werner
ISBN: 978-83-289-2896-1
stron: 384, Format: 165x235, okładka: mi
Data wydania: 2025-10-01
Księgarnia: Helion

Cena książki: 107,10 zł (poprzednio: 119,00 zł)
Oszczędzasz: 10% (-11,90 zł)

Nakład wyczerpany

Tagi: SQL Server

Dlaczego zapytania T-SQL dzia

Spis treści

SQL Server. 100 najczęstszych błędów i jak ich skutecznie unikać -- spis treści

Wstęp

Podziękowania

O książce

O autorze

1. Wprowadzenie do SQL Servera

  • 1.1. Pomyłka indeksowa związana z SQL Serverem (pomyłka numer 0)
  • 1.2. Przegląd SQL Servera
    • 1.2.1. Przegląd silnika bazy danych
    • 1.2.2. Platformy heterogeniczne
  • 1.3. Dlaczego SQL Server jest wciąż wart zachodu?
  • 1.4. Dlaczego właściwe korzystanie z SQL Servera jest ważne?
  • Podsumowanie

2. Standardy programowania

  • 2.1. Przykładowa pomyłka
  • 2.2. Numer 1 - nieopisowe nazwy obiektów
  • 2.3. Numer 2 - używanie prefiksów obiektowych
  • 2.4. Numer 3 - niesławny prefiks sp_
  • 2.5. Numer 4 - nieznajdowanie czasu na standardy kodowania
  • 2.6. Numer 5 - używanie porządkowej pozycji kolumny
  • Podsumowanie

3. Typy danych

  • 3.1. Numer 6 - przechowywanie liczb całkowitych zawsze jako typu INT
  • 3.2. Numer 7 - używanie wyłącznie łańcuchów o zmiennej długości
  • 3.3. Numer 8 - pisanie własnego kodu hierarchii
  • 3.4. Numer 9 - nieprzechowywanie danych XML w natywnym formacie
    • 3.4.1. Szatkowanie XML
    • 3.4.2. Rekonstruowanie XML
    • 3.4.3. Unikanie dodatkowych kosztów przez przechowywanie danych w formacie XML
  • 3.5. Numer 10 - ignorowanie JSON
  • Podsumowanie

4. Projekt bazy danych

  • 4.1. Numer 11 - brak normalizacji
    • 4.1.1. Projektowanie schematu na podstawie własnego osądu
    • 4.1.2. Problemy z naszym schematem bazy danych
    • 4.1.3. Projektowanie schematu bazy danych z wykorzystaniem normalizacji
  • 4.2. Numer 12 - używanie szerokiego klucza podstawowego
  • 4.3. Numer 13 - nieużywanie kluczy obcych
  • Podsumowanie

5. Programowanie w języku T-SQL

  • 5.1. Numer 14 - niepoprawna obsługa wartości NULL
  • 5.2. Numer 15 - używanie NOLOCK jako sposobu na poprawę wydajności
  • 5.3. Numer 16 - standardowe stosowanie instrukcji SELECT *
  • 5.4. Numer 17 - niepotrzebne porządkowanie danych
  • 5.5. Numer 18 - używanie słowa kluczowego DISTINCT bez ważnej przyczyny
  • 5.6. Numer 19 - niepotrzebne stosowanie klauzuli UNION
  • 5.7. Numer 20 - używanie kursorów
  • 5.8. Numer 21 - usuwanie wielu wierszy w jednej transakcji
  • Podsumowanie

6. Programowanie w SSIS

  • 6.1. Numer 22 - odrzucanie niepoprawnych danych
  • 6.2. Numer 23 - nieoptymalizowanie wczytywania danych
  • 6.3. Numer 24 - używanie SSIS jako narzędzia do koordynacji T-SQL
    • 6.3.1. Koordynowanie zadań Execute T-SQL Statement
    • 6.3.2. Przekształcanie zadań Execute T-SQL Statement w przepływy danych
  • 6.4. Numer 25 - pobieranie wszystkich danych, kiedy potrzebny jest tylko ich podzbiór
  • Podsumowanie

7. Obsługa błędów, testowanie, kontrola wersji i wdrażanie

  • 7.1. Numer 26 - pisanie kodu bez obsługi błędów
  • 7.2. Numer 27 - niealarmowanie o błędach
  • 7.3. Numer 28 - nieużywanie funkcji debugowania
  • 7.4. Numer 29 - niestosowanie narzędzia Schema Compare
  • 7.5. Numer 30 - niepisanie testów jednostkowych
  • 7.6. Nowoczesne techniki programowania
    • 7.6.1. Numer 31 - niekorzystanie z kontroli wersji kodu źródłowego
    • 7.6.2. Numer 32 - nieużywanie potoku CI/CD do wdrażania kodu
  • Podsumowanie

8. Instalacja SQL Servera

  • 8.1. Numer 33 - stosowanie niejasnych nazw instancji
  • 8.2. Numer 34 - bezkrytyczne używanie systemu Windows
  • 8.3. Numer 35 - zapominanie, jak użyteczne mogą być kontenery
  • 8.4. Numer 36 - niepotrzebne używanie środowiska Desktop Experience
  • 8.5. Numer 37 - bezkrytyczne stosowanie wersji Enterprise Edition
  • 8.6. Numer 38 - instalowanie instancji, kiedy wystarczyłoby rozwiązanie DBaaS lub PaaS
  • 8.7. Numer 39 - instalowanie wszystkich funkcji
  • 8.8. Numer 40 - niestosowanie skryptów do instalacji SQL Servera
  • 8.9. Numer 41 - zakładanie, że zarządzanie konfiguracją nie dotyczy SQL Servera
  • 8.10. Numer 42 - używanie chmurowych obrazów SQL Servera bez ich modyfikowania
  • Podsumowanie

9. Zarządzanie instancją i bazą danych

  • 9.1. Numer 43 - automatyczne zmniejszanie baz danych
  • 9.2. Numer 44 - zaniedbywanie odbudowy indeksów po zmniejszeniu pliku danych
  • 9.3. Numer 45 - poleganie na automatycznym powiększaniu
  • 9.4. Numer 46 - używanie wielu plików dziennika
  • 9.5. Numer 47 - dopuszczanie do fragmentacji dzienników
  • 9.6. Numer 48 - zaniedbywanie planowania wydajności
  • 9.7. Numer 49 - umieszczanie TempDB i plików dziennika zawsze na osobnych dyskach
  • 9.8. Numer 50 - zaniedbywanie regularnego sprawdzania bazy pod kątem uszkodzeń
  • 9.9. Numer 51 - zaniedbywanie automatyzacji
  • 9.10. Numer 52 - używanie kursorów do celów administracyjnych
  • 9.11. Numer 53 - nieinstalowanie poprawek
  • Podsumowanie

10. Optymalizacja

  • 10.1. Numer 54 - włączanie flag TF1117 i TF1118
  • 10.2. Numer 55 - niestosowanie natychmiastowej inicjalizacji plików
  • 10.3. Numer 56 - niepozostawianie wystarczającej ilości pamięci dla innych aplikacji
  • 10.4. Numer 57 - nieblokowanie stron w pamięci
  • 10.5. Numer 58 - działanie wbrew optymalizatorowi
  • 10.6. Numer 59 - niewykorzystywanie informacji zwrotnych DOP
  • 10.7. Numer 60 - niepartycjonowanie dużych tabel
  • 10.8. Numer 61 - niezrozumienie ograniczeń eliminowania partycji
  • 10.9. Numer 62 - niekompresowanie dużych tabel
  • 10.10. Numer 63 - używanie poziomu izolacji Read Uncommitted
  • 10.11. Numer 64 - używanie nadmiernie restrykcyjnych poziomów izolacji
  • 10.12. Numer 65 - nieuwzględnianie optymistycznych poziomów izolacji
  • 10.13. Numer 66 - rozwiązywanie problemów przez dokładanie sprzętu
  • Podsumowanie

11. Indeksy

  • 11.1. Numer 67 - zakładanie, że fragmentacja wewnętrzna jest zawsze niekorzystna
  • 11.2. Numer 68 - pogląd, że fragmentacja zewnętrzna powoduje problemy we wszystkich kwerendach
  • 11.3. Numer 69 - reorganizowanie indeksów w celu poprawienia gęstości stron
  • 11.4. Numer 70 - błędne interpretowanie statystyk fragmentacji
  • 11.5. Numer 71 - nieprzebudowywanie indeksów
  • 11.6. Numer 72 - bezkrytyczne przebudowywanie wszystkich indeksów
  • 11.7. Numer 73 - aktualizowanie statystyk po przebudowaniu indeksów
  • 11.8. Numer 74 - nieoptymalizowanie konserwacji indeksów zgodnie z własnymi potrzebami
    • 11.8.1. Parametr MAXDOP
    • 11.8.2. Opcja SORT_IN_TEMPDB
    • 11.8.3. Opcja OPTIMIZE_FOR_SEQUENTIAL_KEY
  • 11.9. Numer 75 - niewyłączanie indeksów podczas hurtowego wczytywania danych
  • 11.10. Numer 76 - nadmierne poleganie na narzędziu Database Engine Tuning Advisor
  • 11.11. Numer 77 - nieużywanie indeksów kolumnowych
  • Podsumowanie

12. Kopie zapasowe

  • 12.1. Numer 78 - nieuwzględnianie RPO i RTO
  • 12.2. Numer 79 - stosowanie migawek bazy danych jako strategii przywracania
  • 12.3. Numer 80 - używanie migawek zachowujących spójność w razie awarii jako strategii przywracania danych
  • 12.4. Numer 81 - nietestowanie kopii zapasowych
    • 12.4.1. Weryfikacja poprawności wykonania kopii zapasowych
    • 12.4.2. Weryfikacja integralności kopii zapasowej
  • 12.5. Numer 82 - tworzenie kopii zapasowych podczas okna ETL
  • 12.6. Numer 83 - stosowanie wyłącznie modelu przywracania FULL w hurtowniach danych i systemach deweloperskich
  • 12.7. Numer 84 - używanie modelu SIMPLE dla baz OLTP
  • 12.8. Numer 85 - nietworzenie kopii zapasowej po zmianie modelu przywracania
  • 12.9. Numer 86 - planowanie backupu dziennika natychmiast po backupie pełnym
  • 12.10. Numer 87 - nieużywanie backupu COPY_ONLY do tworzenia doraźnych kopii zapasowych
  • 12.11. Numer 88 - zapominanie, że kopie zapasowe są częścią systemu bezpieczeństwa
  • Podsumowanie

13. Dostępność

  • 13.1. Numer 89 - mylenie HA z DR
  • 13.2. Numer 90 - nieprojektowanie architektury pod kątem wymagań
  • 13.3. Numer 91 - nietestowanie strategii DR
  • 13.4. Numer 92 - zakładanie, że grupy dostępności zawsze są właściwym rozwiązaniem
  • 13.5. Numer 93 - przeciążanie klastra
  • Podsumowanie

14. Bezpieczeństwo

  • 14.1. Numer 94 - niestosowanie zasady najmniejszych przywilejów
  • 14.2. Numer 95 - niewyłączanie konta sa
  • 14.3. Numer 96 - używanie niewłaściwej ziarnistości konta usługowego
  • 14.4. Numer 97 - włączanie procedury xp_cmdshell
  • 14.5. Numer 98 - nieaudytowanie działań administracyjnych
  • 14.6. Numer 99 - narażanie firmy na ataki polegające na podstawianiu całych wartości
    • 14.6.1. Przygotowywanie zaszyfrowanego środowiska
    • 14.6.2. Zapobieganie atakom polegającym na podstawianiu całych wartości
  • 14.7. Numer 100 - narażanie firmy na ataki typu SQL injection
  • Podsumowanie

Skorowidz

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.