Administracja baza danych Microsoft SQL Server 5dni
Agenda ⌘
- Wprowadzenie do administracji bazami danych serwera SQL
- Instalacja i konfiguracja serwera SQL
- Praca z bazami danych i storage-m
- Planowanie i wdrażanie strategii wykonywania kopii zapasowych
- Przywracanie baz danych serwera SQL
- Importowanie i eksportowanie danych
Agenda ⌘
- Monitorowanie serwera SQL
- Śledzenie aktywności serwera SQL
- Zarządzanie bezpieczeństwem serwera SQL
- Audyt dostępu do danych i szyfrowania danych
- Wykonywanie bieżącej konserwacji bazy danych
- Automatyzacja zarządzania serwera SQL
- Monitorowanie SQL Server przy użyciu alertów i powiadomień
MODUŁ I :
Wprowadzenie do administracji Microsoft SQL Server ⌘
- Przegląd zadań administratora baz danych
- Wprowadzenie do platformy SQL Server
- Narzędzia i techniki zarządzania bazą danych
Przegląd zadań administratora ⌘
- instalacja,
- konfiguracja,
- monitoring,
- troubleshooting,
- patching – product life cycle,
- development,
- backup,
- restore
Edycje SQL Serwer ⌘
- Enterprise
- Standard
- Web
- Express
- Developer*
SQL Server Developer ⌘
- Developers Edition od SQL 2016 nie wymaga licencji
- Posiada taka samie funkcjonalności jak wersje Enterprise
- Nie może być użyta na Serwerach Produkcyjnych
Wersje SQL Serwer ⌘
- Select @@version
- SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel')
- Configuration Manager
https://sqlserverbuilds.blogspot.com/
Usługi SQL Server ⌘
- Database Services
- Analysis Services
- Reporting Services
- Intergration Services
Database Services ⌘
W skład SQL Server Database Services wchodzi:
- Database engine
- Replication
- Full-Text search
Analysis Services ⌘
Inaczej "Hurtownie Danych"
Zastosowanie:
- Przetwarzanie analityczne danych
- Wspomaganie decyzji
- Centralizacja danych
- Archiwizacja
Reporting Services ⌘
Zastosowanie:
- Tworzenie
- Zarządzanie
- Przedstawianie raportów
- Report Manager
Intergration Services ⌘
1. Zbiór narzędzi do zarządzania zbiorami w procesie ETL
ETL - Extract, Transform , Load ( wydobywanie, przetwarzanie, ładowanie )
2. Wykonywanie innych zadań
MODUŁ II :
Instalacja i konfiguracja SQL Server ⌘
- Planowanie instalacji SQL Server
- Instalacja SQL Server
- Konfiguracja po instalacyjna
Planowanie instalacji ⌘
- Wymagania sprzętowe i software'owe
Komponent | Wymagania minimalne |
---|---|
Procesor | 1.4 GHz |
RAM | 1 GB |
Dostępne miejsce HDD | 6 GB |
System operacyjny | Windows 8, Windows Server 2012 |
- Licencjonowanie
- Instalacja
Licencjonowanie SQL Server ⌘
- Od SQL 2012 licensjonownaie jest zalezne od liczby vCPU
- Enterprise $$$ ~ 4 x Standard $$$
- Licencje sprzedawane w paczkach , 1 paczka = 2 licencje
- 4 vCPU jest minimum
- Software assurance
- Standalone czy Cluster
Instalacja SQL Server Management Studio ⌘
- Od SQL 2016 oddzielny produkt
- Okresowe "release'y"
Instalacja SQL Server ⌘
- Instalacja manualna
- Instalacja "automatyczna" -> configurationFile.ini
Konfiguracja serwera SQL ⌘
- Instalacja Service Pack, Cumulative Update, Hotfix
- Konfiguracja własciwosci Serwera
- Konfiguracja portów i protokołow
- Konfiguracja bezpieczeństwa
- Konfiguracja domyślnych ustawień baz danych
- Konfiguracja TempDB
- Konfiguracja kopii zapasowych
MODUŁ III :
Praca z bazami danych i ich przechowywaniem ⌘
- Wprowadzenie do składowania danych w serwerze SQL
- Omówienie ustawień baz
- Omówienie baz systemowych
- Zarządzanie storage-m baz danych systemowych
- Zarządzanie storage-m baz danych użytkowników
- Przenoszenie plików bazy danych
- Konfiguracja rozszerzenia puli bufora
Składowanie danych w serwerze SQL ⌘
- Pliki MDF, NDF, LDF
- MDF - główny plik z danym SQL
- NDF - dodatkowy plik z danym SQL
- LDF - plik logu transakcyjnego
Zasada działania logu transakcyjnego ⌘
- Zapis sekwencyjny
- TYLKO jeden plik logu transakcyjnego dla bazy danych
- VLFs:
Wzrost - "Growth" | Liczba VLF |
---|---|
mniej lub równe 64 MB | 4 |
pomiędzy 64 MB i 1 GB | 8 |
więcej niż 1 GB | 16 |
Omówienie ustawień baz ⌘
- Owner
- Autogrowth vs stały rozmiar
- Auto Create & Auto Update Statistics
Omówienie baz systemowych ⌘
- master
- model
- msdb
- tempdb
Master ⌘
- najważniejsza baza
- zapisywana jest w niej konfiguracja SQL Servera – informacje o:
- obiektach systemowych
- loginach
- lokalizacji poszczególnych plików
- podpiętych bazach użytkownika
Model ⌘
- Baza wzorcowa dla innych baz danych
- każda nowa baza danych jest kopią bazy model
- możliwa modyfikacja, która wpłynie na tworzone w przyszłości bazy
Msdb ⌘
- Baza pomocnicza wykorzystywana przez SQL Server Agenta
- Zawiera informacje o:
- job'ach
- backup'ach
- historię wykonywanych jobów, backup'ów i restore'ów
Tempdb ⌘
- Baza tymczasowa
- Tworzona jest na nowo po każdym restarcie usługi
- Oddzielny szybki dysk
- Utworzenie tylu plików ile jest procesorów
- Zawiera obiekty tymczasowe:
- tabele
- kursory
- różne obiekty tworzone wewnętrznie przez SQLa
Zarządzanie storage-m baz danych użytkowników ⌘
- Tworzenie bazy danych
- Zmiana ustawień
- Przenoszenie plików bazy danych użytkownika
Zarządzanie storage-m baz systemowych ⌘
- Przenoszenie baz systemowych: MSDB, Model i TEMPDB
- Przenoszenie bazy MASTER*
- Zalecenia dla bazy TEMPDB, liczba plików vs vCPU
Konfiguracja rozszerzenia puli bufora ⌘
Rozszerzenie 'Buffer Pool' jest korzystne, gdy spełnione są następujące warunki:
- Operacjie OLTP z dużą ilością odczytów.
- Serwer bazy danych zawiera do 32 GB RAM
- Dysk SSD
demo
MODUŁ IV :
Planowanie i wdrażanie strategii
wykonywania kopii zapasowych ⌘
- zrozumienie modeli odzyskiwania serwera SQL
- planowanie strategii tworzenia kopii zapasowych
- tworzenie kopii zapasowych baz danych i logów transakcji
- korzystanie z opcji tworzenia kopii zapasowych
- zapewnienie wiarygodności kopii zapasowej
Modele odzyskiwania w SQL Serwer ⌘
Z ang."Recovery Model"
- Simple
- Full
- Bulk logged
Modele odzyskiwania ⌘
Kopie zapasowe ⌘
- Full
- Differential
- Transaction log
Pełna kopia bazy danych ⌘
Full Database Backup
BACKUP DATABASE master TO DISK = 'D:\Program Files\Microsoft SQL Server\Mssql\Backup\master.bak'
Zawiera wszystkie informacje zapisane zarówno w plikach bazy danych (strukturę obiektów bazodanowych oraz dane tabel i indeksów),
jak i w plikach dziennika transakcyjnego - tu tylko dane z aktywnej części dziennika.
Pełna kopia bazy danych ⌘
- Pełna nazwa, jak sama nazwa wskazuje, tworzy kopię zapasową wszystkiego.
- To podstawa każdego rodzaju kopii zapasowej!
- Jest to kompletna kopia, która przechowuje wszystkie obiekty bazy danych: tabele, procedury, funkcje, widoki, indeksy oraz DANE
- Mając pełną kopię zapasową, będziesz mógł łatwo przywrócić bazę danych w dokładnie takiej samej formie, jak w momencie tworzenia kopii zapasowej.
Przyrostowa kopia bazy danych ⌘
Differential Database Backup
BACKUP DATABASE Northwind TO disk='D:\Program Files\Microsoft SQL Server\Mssql\Backup\Northwind_diff.BAK' WITH DIFFERENTIAL
Do pliku przyrostowej kopii bazy danych zostaną zapisane wszystkie dane,
które zostały zmodyfikowane od czasu wykonania ostatniej pełnej kopii bazy danych.
Kopia dziennika transakcyjnego ⌘
Transaction Log Backup
BACKUP LOG Northwind TO disk='D:\Program Files\Microsoft SQL Server\Mssql\Backup\Northwind_log.TRN'
SQL Server do pliku kopii dziennika transakcyjnego zapisuje wszystkie wpisy z dziennika danej bazy danych.
Plik kopii dziennika transakcyjnego jest bezużyteczny bez aktualnego pliku pełnej kopii tej bazy danych.
*ćwiczenie
Zapewnienie wiarygodności kopii zapasowej ⌘
- Mirrored Backup - Enterprise Edition Only
- Opcja WITH CHECKSUM
- Weryfikacja Backupu - VERIFY ONLY
Zapewnienie wiarygodności kopii zapasowej ⌘
Kopia zapasowa z opcja WITH CHEKSUM sprawdza sumę kontrolną na każdej stronie podczas tworzenia kopii zapasowej, a następnie na końcu kopii zapasowej oblicza sumę kontrolną całej kopii i zapisuje ją w pliku kopii zapasowej.
Opcja VERIFY ONLY wykonuje TYLKO weryfikacje ( nie odtwarzanie ! ) po zakończeniu tworzenia kopii zapasowej, która w przypadku kopii zapasowej wykonanej bez sumy kontrolnej sprawdza jedynie poprawność nagłówka pliku kopii zapasowej.
Jeśli kopia zapasowa została wykonana przy pomocy CHECKSUM,
wówczas RESTORE VERIFY ONLY ponownie oblicza sumę kontrolną dla pliku kopii zapasowej i porównuje ją z zapisaną w pliku.
Planowanie strategii kopii zapasowych ⌘
- WORD Document
MODUŁ V :
Przywracanie baz danych serwera SQL ⌘
- zrozumienie procesu przywracania
- przywracanie baz danych
- zaawansowane scenariusze przywracania baz danych
- praca z przywracaniem do „punktu w czasie”
Odtwarzanie Bazy Danych ⌘
Odtwarzanie Bazy Danych ⌘
Przywracanie baz danych ⌘
- Odtwarzanie bazy w zależności od Modelu odtwarzania: Simple Vs Full
- Proces odtwarzania bazy ZAWSZE zaczynamy od Full Backup'u.
- Restore:
a) With Recovery
b) With Norecovery
c) With StandBy
Różne scenariusze przywracania baz danych ⌘
- Full
- Full + Transaction Log
- Full + Differenital + Transaction Log
Odtwarzanie baz Systemowych ⌘
- Master
- Trace Flag
- SQL Server in Single Mode
Praca z przywracaniem do „punktu w czasie” ⌘
- "Point in time recovery"
- Tylko w Full Recovery Model'u
- Opcja przywracania STOPAT.
- Opcja przywracania STOPATMARK.
Demo
MODUŁ VI :
Importowanie i eksportowanie danych SQL ⌘
- Wprowadzenie do przesyłania danych
- Importowanie i eksportowanie danych tabelarycznych
- Kopiowanie lub przenoszenie bazy danych
Wprowadzenie do przesyłania danych ⌘
- SQL Server Import and Export Wizard,
- Bulk Copy Program (bcp),
- BULK INSERT,
- OPENROWSET (BULK)
Bulk Copy Program (bcp) ⌘
- Narzędzie Bulk Copy Program (bcp) kopiuje dane między Instancją SQL Server a plikiem danych w formacie określonym przez użytkownika.
- Za pomocą narzędzia BCP można importować dużą liczbę nowych wierszy do tabel programu SQL Server lub eksportować dane z tabel do plików danych.
- Dostępne we wszystkich wersjach SQL Server (również Express).
- Jest jedną z najbardziej wydajnych (najszybszych) metod przenoszenia danych pomiędzy bazą danych a systemem plików
BULK INSERT ⌘
- BULK INSERT to rozszerzenie języka T-SQL, funkcjonalny odpowiedniki narzędzia bcp z parametrem in.
- Służy do szybkiego, masowego importu danych z pliku tekstowego do istniejącej tabeli w bazie danych.
- Idealnie nadaje się więc do zadań automatycznych np SQL joby, procedury składowane, czy skrypty adhoc, które mają na celu import danych z plików tekstowych do bazy.
OPENROWSET ⌘
- OPENROWSET jest alternatywą dla Linked Servers.
- Korzystając z funkcji OPENROWSET, możemy pobierać dane z dowolnych źródeł danych, które obsługują zarejestrowanego dostawcę OLEDB, takich jak zdalne wystąpienie SQL Server, Microsoft Access, plik Excel, plik tekstowy lub plik CSV.
- Jest to funkcja tabelaryczna, zwracająca w wyniku zbiór wierszy, który możemy traktować jak zwykłą tabelę.
- Koniecznośc właczenia ustawień zaawansowanych: 'show advanced options'
- Trudny w diagnostyce błędów
Importowanie i eksportowanie danych tabelarycznych ⌘
- Demo & Ćwiczenia
Kopiowanie lub przenoszenie bazy danych ⌘
- Detach / Attach
- Backup / Restore
- Kreator
*cwiczenie
MODUŁ VII :
Monitorowanie serwera SQL ⌘
- Wprowadzenie do monitorowania serwera SQL
- Dynamiczne widoki i funkcje zarządzania
- Monitor wydajności
- Śledzenie aktywności obciążenia serwera SQL
- Korzystanie z trace-ów
Monitorowanie i śledzenie aktywności serwera SQL ⌘
- Activity Monitor
- DMVs
- Extended events
- Performance Dashboard Reports
- Performance Monitor + PAL
- Data Collector
- SQL Server Profiler
Activity Monitor ⌘
- Monitor aktywności programu SQL Server to narzędzie programu SQL Server Management Studio,
która wyświetla informacje o procesach programu SQL Server i ich wpływie na wydajność programu SQL Server. - Potrzebne uprawnienia VIEW SERVER STATE
demo
DMV ⌘
DMV oznacza Dynamic Management View. Funkcje DMV polegają na zwracaniu informacji o stanie serwera,
które mogą być wykorzystane do monitorowania stanu instancji serwera, diagnozowania problemów i dostrajania wydajności.
DMV - przykłady ⌘
- sys.dm_exec_cached_plans - Plany zapytań w pamięci podręcznej
- sys.dm_exec_sessions - Sesje w SQL Server
- sys.dm_exec_connections - Połączenia z SQL Server
- sys.dm_db_index_usage_stats - wykorzystanie indeksów
- sys.dm_io_virtual_file_stats - statystyki IO dla plików baz danych
DMV - przykłady ⌘
- sys.dm_tran_active_transactions - Stan transakcji dla instancji SQL
- sys.dm_exec_sql_text - Zwraca kod TSQL
- sys.dm_exec_query_plan - Zwraca plan zapytań
- sys.dm_os_wait_stats - Zwraca informacje o zasobach, na które czeka SQL
- sys.dm_os_performance_counters - Zwraca liczniki monitora wydajności
demo
Extended events ⌘
- "Extended events" to lekki silnik zdarzeń, który ma bardzo niewielki wpływ na obciążenie monitorowanego silnika bazy danych.
- Mechanizm "Extended events" jest odpowiedzialny za przechwytywanie określonego zdarzenia,
na przykład zakończenia wykonywania instrukcji SQL, zapisanie danych do pliku dziennika transakcyjnego czy wystąpienie zakleszczenia (deadlock ). - Informacje opisujące zdarzenia są zbierane w ramach sesji XE i mogą być zapisane w pamięci lub plikach.
- XEvent Profiler - szybki i konfigurowalny podgląd na żywo Extended Events
demo
Performance Dashboard Reports ⌘
- Zaprojektowane w celu zapewnienia szybkiego wglądu w stan wydajności programu SQL Server
- CPU bottlenecks (zapytania mające duże wykorzystanie CPU )
- I/O bottlenecks (zapytania mające duże wykorzystanie operacji I/O)
- Rekomendacje do indeksów
- Blokowanie
- Spór o zasoby
demo
Performance Monitor ⌘
- Wbudowane narzędzie systemu operacyjnego Windows
- Monitoruje różne działania na komputerze, takie jak użycie procesora lub pamięci.
Nazwa "countera" | Wykorzystanie |
---|---|
SQLServer:<object name> | Instancja domyślna |
MSSQL$<instance>:<object > | Instancja nazwana |
SQLAgent$<instance >:<object > | SQL Server Agent |
"Countery" do monitorowania SQL Serwera ⌘
- Processor(_Total)\% Processor Time
- PhysicalDisk(_Total)\Avg. Disk sec/Read
- PhysicalDisk(_Total)\Avg. Disk sec/Write
- System\Processor Queue Length
- SQLServer:Buffer Manager\Buffer cache hit ratio
- SQLServer:Buffer Manager\Page life expectancy
demo
Performance Analysis of Logs (PAL)⌘
- Narzędzie PAL (Performance Analysis of Logs) odczytuje i analizuje performance countery.
- PAL generuje raport oparty na HTML, który graficznie przedstawia wykresy dla performance counter'ów
demo
Data Collector ⌘
- Moduł do gromadzenia danych dotyczących aktywności i wydajności SQL Serwer.
- Wykorzystanie wbudowanej Hurtowni danych
- Gotowe raporty do analizy SQL Serwera
http://www.sqlcoffee.com/SQLServer2008_0009.htm
demo
SQL Server Profiler ⌘
- Interfejs do śledzenia zdarzeń .
- Zapisanie do pliku pozwala na późniejsze odtworzenie serii zdarzeń.
- SQL Profiler ma status "deprecated" ( przestarzałe, nierozwijane i może być usunięte w kolejnej wersji )
demo
MODUŁ VIII :
Zarządzanie bezpieczeństwem serwera SQL ⌘
- Wprowadzenie do bezpieczeństwa serwera SQL
- Zarządzanie bezpieczeństwem na poziomie serwera
- Zarządzanie bezpieczeństwem na poziomie bazy danych
- Zarządzanie uprawnieniami w bazie danych
Wprowadzenie do bezpieczeństwa serwera SQL ⌘
- Tworzenie kont: Active Directory , SQL Login
- Schematy
- Tworzenie ról
- Konto SA
- Role Serwerowe
- Role bazodanowe
Konto SA ⌘
- Konto „sa” jest dobrze znanym kontem SQL Server i służy jako domyślne konto administracyjne do SQL Server.
- Hasło SA jest używane tylko podczas instalacji i migracji.
- Wg zaleceń ( best practise ) nazwa powinna być zmieniona ponieważ to konto jest często "atakowane".
Zarządzanie bezpieczeństwem na poziomie serwera ⌘
Role Serwerowe
- bulkadmin -> może używać polecenia BULK INSERT.
- dbcreator -> może tworzyć, zmieniać, usuwać i przywracać dowolną bazę danych.
- diskadmin -> rola służy do zarządzania plikami dyskowymi
- processadmin -> może zakończyć procesy uruchomione w instancji SQL Server.
- securityadmin -> zarządza loginami i ich właściwościami, może resetować hasło.
- serveradmin -> może zmienić konfigurację SQL serwera jak i zatrzymać usługę.
- setupadmin -> może dodawać i usuwać połączone serwery za pomocą instrukcji T-SQL
- sysadmin -> może wykonywać dowolne czynności na serwerze.
- public -> Każde login SQL Server należy do roli public.
Zarządzanie bezpieczeństwem na poziomie bazy danych ⌘
Role bazodanowe.
W przeciwieństwie do ról serwerowych,
możliwe jest tworzenie własnych ról bazodanowych.
- db_accessadmin -> może dodawać lub usuwać dostęp do bazy danych dla loginów Windows, grup Windows i loginów SQL Server
- db_backupoperator -> może wykonać kopię zapasową bazy danych.
- db_datareader -> może odczytać wszystkie dane ze wszystkich tabel użytkowników.
- db_ddladmin -> może uruchomić dowolną komendę DDL (Data Definition Language) w bazie danych.
- db_datawriter -> może dodawać, usuwać lub zmieniać dane we wszystkich tabelach użytkowników.
Role bazodanowe cz.II ⌘
- db_denydatareader -> nie może odczytać żadnych danych w tabelach użytkowników w bazie danych.
- db_denydatawriter -> nie może dodawać, modyfikować ani usuwać żadnych danych w tabelach użytkowników w bazie danych.
- db_owner -> może wykonywać wszystkie czynności związane z konfiguracją i konserwacją bazy danych, a także usuwać bazę danych
- db_securityadmin -> może modyfikować członkostwo w rolach i zarządzać uprawnieniami
- public -> użytkownik dziedziczy uprawnienia przyznane publicznie na danym obiekcie.
Użytkownicy bazy danych nie mogą zostać usunięci z roli publicznej
Schematy ⌘
- Obiekty, które zawierają obiekty innych typów ( np.tabele,procedury)
- Uproszczenie czynności administracyjnych
- Wlaściciel Schematu
- Transfer uprawnień
MODUŁ IX :
Audyt dostępu do danych i szyfrowania danych ⌘
- Audyt dostępu do danych w serwerze SQL
- Dzięki SQL Server Audytowi mamy możliwość śledzenia a także rejestrowania zdarzeń, które wystąpią na poziomie Instancji SQL Server bądź na poziomie samej bazy danych.
- Domyślny Audyt monitoruje nieudane próby logowania.
- Wdrożenie SQL Server Audit
ćwiczenie
Szyfrowanie bazy danych - Transparent Data Encryption ⌘
- Mechanizm szyfrowania bazy danych
- Hierarchia TDE
- Szyfrowanie danych podczas zapisu na dysk
- Odszyfrowanie podczas wczytywania danych do pamięci
- Dostępne w wersji Enterprise, Developer
Hierarchia TDE ⌘
- Service Master Key (SMK) jest tworzony podczas instalacji SQL Server. SMK szyfruje i chroni Database Master Key dla bazy Master.
- Database Master Key (DMK). DMK dla bazy master jest tworzony w celu wygenerowania certyfikatu w bazie master.
- Server Certificate. Certyfikat jest tworzony w bazie master, i służy do szyfrowania klucza w każdej bazie z TDE.
- Database Encryption Key (DEK). Służy do zaszyfrowania bazy.
ćwiczenie
MODUŁ X :
Wykonywanie bieżącej konserwacji bazy danych ⌘
- Zapewnienie integralności bazy danych
- Utrzymanie indeksów
- Statystyki
Zapewnienie integralności bazy danych ⌘
- DBCC CHECKDB to komenda T-SQL, która sprawdza logiczną i fizyczną integralność wszystkich obiektów w określonej bazie danych.
- Użycie DBCC CHECKDB zwiększa użycie CPU
- Zalecane by uruchamiać poza "business hours"
- Zalecane żeby uruchomić przed pełną kopią bezpieczeństwa
Demo
Utrzymanie indeksów ⌘
- Indeks w bazie danych to rodzaj struktury ściśle związanej z tabelą lub widokiem, która pomaga w znaczny sposób przyspieszyć pobieranie danych z tych źródeł.
- Indeks zawiera klucze zawierające jedną, bądź kilka połączonych kolumn tabeli lub widoku.
- Klucze w indeksie przechowywane są w strukturze zwanej B-drzewem
Indeksy ⌘
- Clustered
- Non-Clustered
- Klucze obce
- Klucz główny - Primary Key
- Klucz obcy - Foreign Key
- Dla skuteczności indeksu najistotniejsze są następujące kwestie:
- - wysoka selektywność indeksu
- - aktualność statystyk
- - niski poziom fragmentacji
Indeksy ⌘
Klucz główny - Primary Key,
- Każdy wiersz w naszej tabeli musi mieć wartość która go unikalnie zidentyfikuje.
- Aby zakwalifikować dany atrybut jako klucz główny, musimy sprawdzić, czy posiada następujące własności:
- musi posiadać wartość dla każdego z wierszy
- dla każdego z tych wierszy wartość musi być unikalna
- wartość ta nie może się zmienić, ani nie może zostać usunięta podczas całego funkcjonowania wiersza w tabeli
Indeksy ⌘
Klucz obcy - Foreign Key,
- Klucz obcy jest kopią klucza głównego z innej tabeli.
- Asocjacja jest utworzona pomiędzy tabelami poprzez zaznaczenie, iż wartość z jednej tabeli,
- w której jest kluczem obcym, jest powiązana z wartością z innej tabeli, gdzie jest kluczem głównym
Clustered Indexes ⌘
- Jeden index klastrowany na tabeli
- Najczesciej zakladany na kolumnie o wysokiej "selektywnosci"
- Klucz główny – klastrowany index
Non-Clustered Indexes ⌘
- Do 999 indexów nie-klastrowanych na tabeli
- Moga byc oparte na indexach klastrowanych.
Wyszukiwanie danych przy pomocy indeksów ⌘
REBUILD vs. REORGANIZE ⌘
- REBUILD usuwa i tworzy indeksy od nowa,
- REORGANIZE tylko sortuje strony, nie usuwa ich,
- zarówno REBUILD jak i REORGANZIE zmniejsza fragmentację niezależnie od tego ile ona wynosi
(kolumna AVG_FRAGMENTATION_IN_PERCENT w widoku sys.dm_db_index_physical_stat)
Fragmentacja:
- 0 - 10% - nic
- 11 - 30% - REORGANIZE
- 31 - 100% - REBUILD
Statystyki ⌘
- Optymalizator zapytań SQL Server używa statystyk podczas tworzenia planu zapytań.
- Statystyki dostarczają informacji o rozkładzie wartości kolumn w uczestniczących wierszach, pomagając optymalizatorowi lepiej oszacować liczbę wierszy lub liczność wyników zapytania
- SQL Server automatycznie aktualizuje te statystyki gdy AUTO_UPDATE_STATISTICS jest włączone na bazie danych
MODUŁ XI :
Automatyzacja zarządzania serwera SQL ⌘
- Automatyzacja zarządzania serwerem SQL
- Wdrożenie i zarządzanie pracami SQL Server Agenta
- Automatyzacja rutynowych czynności konserwacyjnych bazy danych z wykorzystaniem Maintenance Plans
- Zarządzanie pracami na wielu serwerach
- *Skrypty OLA HALLENGREN
Automatyzacja zarządzania serwerem SQL ⌘
- Zmniejszone obciążenie administracyjne
- Konsekwentne wykonywanie rutynowych zadań.
Wdrożenie i zarządzanie pracami SQL Server Agenta ⌘
- Usługa SQL Server Agent
- Jobs, Steps, Schedules, Alerts , Operators
demo
Maintenance Plans ⌘
- Tworzenie i edycja
- Omówienie poszczególnych zadań
- Wymagane uprawnienia - SysAdmin
- SSIS package
- Troubleshooting
Demo
Zarządzanie pracami na wielu serwerach ⌘
- Registered Servers
- MultiServer Administration
Registered Servers ⌘
- Pomaga zarządzać wieloma serwerami i ich bazami.
- Generowanie różnych raportów o Serwerach i bazach bez dostępu do pojedynczego serwera.
- Wymagane konto z odpowiednimi uprawnieniami
- Otwarty port w sieci
demo
MultiServer Administration ⌘
- Administracja wieloma serwerami obejmuje jeden Master Server, który przechowuje główną kopię zadań i dystrybuuje je do jednego lub więcej serwerów docelowych.
- Target Serwery są przypisane do jednego Master Serwer, do którego łączą się okresowo aby zaktualizować swój harmonogram zadań i ewentualnie pobrać nowe.
- Usługa SQL Server Agent i Usługa SQL serwera muszą działać przy użyciu kont domeny Windows.
MODUŁ XII :
Monitorowanie SQL Server przy użyciu alertów i powiadomień ⌘
- Monitorowanie błędów serwera SQL
- Konfigurowanie klienta poczty serwera SQL
- Konfigurowanie operatorów, powiadomień i alertów
Error Log ⌘
- Lokalizacja
"ProgramFiles\Microsoft SQLServer\MSSQL13.<Instance>\MSSQL\LOG\ERRORLOG"
- sp_cycle_errorlog
- Ważne informacje jakie można znaleźć
Database Mail ⌘
- Konfiguracja
- Wykorzystanie
Operatorzy, Alerty, Powiadomienia ⌘
- Konfiguracja
- Wykorzystanie
Egzamin :)⌘
Best Practices⌘
- Oddzielne dyski dla baz systemowych, aplikacyjnych i TEMP DB
- Regularne kopie bezpieczeństwa
- Ograniczony dostęp do serwera baz danych
- Monitorowanie przyrostu baz
- Procedury systemowe w administracji
- Dokumentacja
- "każdy ma własne..."
Linki⌘
- www.youtube.com
- www.sqlservercentral.com
- www.udemy.com