SQL Server. 100 najcz - Helion

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ł)
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
Zobacz także:
- 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%)
- Microsoft SQL Server. Tworzenie baz danych i zarządzanie nimi. Kurs video 79,00 zł, (35,55 zł -55%)
- MS SQL Server. Zaawansowane metody programowania. Wydanie II 119,00 zł, (61,88 zł -48%)
- SQL Server i T-SQL w mgnieniu oka. Wydanie II 49,00 zł, (25,48 zł -48%)
- SQL w 24 godziny. Wydanie VI 69,00 zł, (35,88 zł -48%)
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





