Maintenance Plans zupełnie znienacka | Każdy z doświadczonych administratorów używa (w jakimś stopniu) czegoś co nazywamy Maintenance Plans – Planami Konserwacji. Podczas tej sesji cciałbym omówić do czego mogą nam się one przydać, jakie funkcjonalności dają, kiedy możemy ich użyć i na co należy zwrócić uwagę. Sesja na poziomie 200 chwilami wybiegająca na 300, z otwarciem na dyskusję.
2. O MNIE LINIJEK KILKA
• Lider Polskiej Grupy Użytkowników SQL Server
• Microsoft Certified Trainer
• MCP, MCSA, MLSS, MLSBS, MCTS, MCITP, MCT
• SQL Server MVP (od 2010 roku)
• Współtwórca PASS SQL Azure Virtual Chapter
• Blogger, Influencer, Technical Writer
• Od ponad 7 lat w Data Center we Wrocławiu
• Ponad 12 lat w sektorze bankowym i informatycznym
• GITCA Technical Lead & Vice-Chair EMEA Board
• Freelancer: Trainer, Auditor, Consultant
• Prelegent na konferencjach SQL Server Community Launch, Time
for SharePoint, CodeCamps, SharePoint Community Launch, CISSP
Day, InfoTRAMS, SQL Bits, SQL Saturday, CareerCon
• Współautor Deep Dives:
High availability of SQL Server in the context
of Service Level Agreements (Chapter 18th)
• Umoczone palce w:
Exploring MDX using Microsoft SQL Server 2012
3. AGENDA
Plany Konserwacji – ale o co chodzi?
Plany Konserwacji – jak, gdzie i kiedy?
• Narzędzia, metody, sposoby
Możliwości Planów Konserwacji
• Back Up Database
• Verify Integrity of Database
• Maintain a Database Indexes
• Maintain Index & Column Statistics
• Remove Older Data from msdb
• Remove Old Backups
Kilka przykładów
Podsumowanie
5. PLANY KONSERWACJI – ALE O CO CHODZI?
• Porządek
• Spokój
• Znajomość środowiska
• Wydajność
DEFINICJA:
A database maintenance plan is a set of specific, proactive task that need to be
performer regularly on databases to ensure ttheir adequate performance and
availability
7. PLANY KONSERWACJI – JAK, GDZIE, KIEDY?
JAK:
• Maintenance Plan Wizard
• Maintenance Plan Designer
• T-SQL Scripts
• PowerShell Scripts
GDZIE:
• SSMS od wersji Standard wzwyż
• do zobaczenie… Express’ie
KIEDY:
• Przed wystąpieniem problemów
• W trakcie okienka serwisowego
• Poza praca klientów
8. PLANY KONSERWACJI – MAINTENANCE PLAN WIZARD
• Prosty podstawowy kreator, pozwalający na stworzenie najważniejszych zadań w kilku
krokach.
• W wielu wypadkach w zupełności wystarczający
• Posiadający limitowana, aczkolwiek całkiem pokaźna ilość opcji.
• Ograniczenia:
• Limitowana ilość baz danych , które możemy obsłużyć
• Ograniczona granularność
• Pojedyncze zadania – brak multi-taskingu
• Brak możliwości oskryptowania innych instancji
• Pewna ilość błędów we wcześniejszych wersjach SQL Server
o SQL Server 2005 Service Pack 2
o SQL Server 2008
9. PLANY KONSERWACJI – MAINTENANCE PLAN DESIGNER
• Bardziej rozbudowane narzędzie korzystające z możliwości jakie daje interfejs graficzny
obsługujący metodę „przeciągnij i upuść” wykorzystywaną w SSIS
• Używany przez „prawdziwych DBA”
• Zwiększone możliwości
• Kontrola przepływu zdarzeń przy użyciu planu wykonania
• Wsparcie dla wielu zadań – multi-tasking
• Dwa dodatkowe Plany Konserwacji (niedostępne w Maintenance Wizard):
o Execute T-SQL Statement
o Notify Operator
10. PLANY KONSERWACJI – MAINTENANCE PLAN WIZARD & DESIGNER
• Ograniczenia obu narzędzi:
• Identyfikacja i usunięcie fragmentacji z plików fizycznych
• Identyfikacja zagubionych, zduplikowanych lub nieużywanych indeksów
• Zapewnienie dostępności kopii zapasowej na żądanie
• Weryfikacja dobrej jakości kopii zapasowej i jej prawidłowego odtworzenia
• Monitorowanie wydajności
• Monitorowanie błędów SQL Server
• Monitorowanie błędów OS
• Monitorowanie zajętej/wolnej przestrzeni
11. PLANY KONSERWACJI – T-SQL SCRIPTS & POWERSHELL SCRIPTS
• Funkcjonalności dla „naprawdę prawdziwych DBA”
• Niezbędne podczas zarządzania wieloma bazami, instancjami, farmami serwerów
• Przykładowo dla skryptów T-SQL dostajemy do wykorzystania:
• Dostęp do systemu OS
• Przenoszalność / Przenośność ?
• Współdzielenie skryptów
Jeden z najlepszych przykładów:
HTTP://OLA.HALLENGREN.COM/
13. PLANY KONSERWACJI – DOSTĘPNE ZADANIA (SSMS)
• Check Database Integrity
• DBCC CHECKDB
• Shrink Database
• NEVER, NEVER, NEVER
• Reorganize Index
• ALTER INDEX , a następnie Update Statistics
• Rebuild Index
• ALTER INDEX, Update Statistics nie jest potrzebne
• Update Statistics
• Sp_updatestats
• History Cleanup
• Używane na bazie msdb, nie jest zalecane zbyt częste użycie
• Execute SQL Server Sgent Job
• Pozwala na uzycie skryptów przy pracy z agentem
• Back Up Database (Full)
• Wykonuje BACKUP DATABASE z opcją FULL, następnie TL
• Back Up Database (Differential)
• Wykonuje BACKUP DATABASE z opcją DIFFERENTIAL
• Back Up Database (Transaction Log)
• Wykonuje BACKUP LOG, częstotliwość…
• Maintenance Cleanup Task
• Najbardziej skomplikowany aspekt funkcjonalności ? BAK, TRN, TXT
14. MOŻLIWOŚCI – VERIFY INTEGRITY OF DATABASE
WARTO PAMIĘTAĆ
• Regularność DBCC CHECKDB
• Dziennie
• Tygodniowo
• Miesięcznie?
• DBCC CHECKDB (’database_name’) WITH NO_INFOMSGS
• DBCC CHECKDB (’database_name’) WITH NO_INFOMSGS, ALL_ERRORMSGS
• DBCC CHECKDB (’database_name’, NOINDEX)
15. MOŻLIWOŚCI – SHRINK DATABASE
WARTO PAMIĘTAĆ
NIGDY NIE UŻYWAJMY TEJ OPCJI (w Planach Konserwacji)
• MDF & LDF
• 100 GB Zarezerwowane
• 15 GB w użyciu
• DBCC SHRINKDATABASE lub DBCC SHRINKFILE | MANUAL MODE
• Redukcja Zarezerwowanego Miejsca
16. MOŻLIWOŚCI – MAINTAIN INDEX & COLUMN STATISTICS
WARTO PAMIĘTAĆ
Automatyka:
• AUTO_CREATE_STATISTICS
• AUTO_UPDATE_STATISTICS
• Funkcjonuje automatycznie po użyciu: INSERT, UPDATE, DELETE
• UPDATE STATISTICS table_name WUTH FULLSCAN
Kiedy używać:
• Nigdy…
• od razu po Index Reorganization
• W dniach kiedy nie używamy Index Rebuild albo Reorganize Index
Ważne opcje (UPDATE STATISTICS):
• All existing statistics
• Column statistics only
• Index statistics only
18. MOŻLIWOŚCI – HISTORY CLEAN UP (MSDB)
Wybieramy dane historyczne do usunięcia:
• Backup and restore history
• SQL Server Agent job history
• Maintenance Plan history
20. • Praca organiczna, praca u podstaw
• Należy zastanowić się nad:
• Kolejnością zadań
• Długością zadań
• Ważnością zadań
• Dokumentowanie
• Używanie na co dzień / co tydzień / okazjonalnie
• Lepsze poznanie własnego środowiska
• Podgląd jego wydajności
• NIESTETY: Standard, Enterprise i/lub wyższe
• Maintenance Plan Wizard – na początek i przy małych instalacjach
• Maintenance Plan Designer – dojrzałe i bardziej rozbudowane