1. SZPIEG Z KRAINY BAZY DANYCH
czyli Change Tracking w su甜bie MSSQL
Kamil Nowiski
2. PRELEGENT
Kamil
Nowiski
Ponad 10-letnie dowiadczenie (App, DB)
Technologie Microsoft:
Programowanie: VB6, VB.NET, C#, .NET Framework
Bazy danych: Microsoft SQL 2000 2012 (T-SQL)
Pasjonat baz danych
Certyfikaty: MCITP, MCP, MCTS
Zainteresowania zawodowe:
Optymalizacja baz danych
Hurtownie danych
SQL Server Integration Services (SSIS)
3. AGENDA
Cel do osignicia
Og坦lna koncepcja CHANGE TRACKING
Korzyci
Spos坦b uruchomienia
Ustawienia i uprawnienia
Funkcje zmian
DEMO
CDC czym to si r坦甜ni?
Czy CT mo甜e by przydatny?
4. CHANGE TRACKING
Cel:
Wskazanie wierszy, kt坦re ulegy zmianie/usuniciu od czasu
Jak to byo wczeniej
DML Triggers bardzo kosztowne operacje (wzrost czasu wykonania)
Dodatkowe tabele przechowywanie info o zmianach
Konieczno czyszczenia dodatkowych tabel
Wady:
Czasochonne (kosztowne) tworzenie wyzwalaczy i tabel dodatkowych
Spadek wydajnoci
Zo甜one procesy
5. CHANGE TRACKING
Koncepcja:
ledzimy zmiany DML: INSERT, UPDATE, DELETE
Poszczeg坦lne wiersze wybranej tabeli
Interesuje nas tylko ostatnia zmiana
o Nie: ile razy wiersz zosta zmodyfikowany
o Nie: jakie wartoci (historyczne) byy przed zmianami
Funkcjonalno wprowadzona w SQL 2008
Korzyci:
Brak koniecznoci tworzenia wyzwalaczy i dodatkowych tabel
Nieobci甜ajce silnika bazy danych
Prostota dziaania
Minimalna zajto przestrzeni dyskowej
Wbudowane funkcje pobierania zmian w zapytaniach
Auto Clean Up
6. CHANGE TRACKING
Uruchomienie mechanizmu:
Wczenie dla bazy danych
Ustawienie parametr坦w
Wczenie dla wybranej tabeli/tabel
Narzdzia:
SSMS
T-SQL (ALTER DATABASE, ALTER TABLE)
7. CHANGE TRACKING
Poziom kompatybilnoci >= 90
Uprawniania:
SELECT (min. do PK tabeli 添r坦dowej)
VIEWCHANGETRACKING
Ka甜da tabela = jedna tablica zmian
Przechowywanie wartoci klucza g坦wnego
Zmiany dostpne przez tzw. funkcje zmian
8. CHANGE TRACKING
CHANGETABLE()
CHANGES lista zmian od czasu X
VERSION informacja o wskazanym wierszu
CHANGE_TRACKING_CURRENT_VERSION()
CHANGE_TRACKING_MIN_VALID_VERSION(table)
CHANGE_TRACKING_IS_COLUMN_IN_MASK()
WITH CHANGE_TRACKING_CONTEXT()
13. 息 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Editor's Notes
#11: Green - Use for Mission Critical Confidence specific content
#12: Green - Use for Mission Critical Confidence specific content