13
…czyli Change Tracking w służbie MSSQL SZPIEG Z KRAINY BAZY DANYCH… Kamil Nowiński

Change Tracking

Embed Size (px)

Citation preview

Page 1: Change Tracking

…czyli Change Tracking w służbie MSSQL

SZPIEG Z KRAINY BAZY DANYCH…

Kamil Nowiński

Page 2: Change Tracking

PRELEGENTPonad 10-letnie doświadczenie (App, DB)Technologie Microsoft:

Programowanie: VB6, VB.NET, C#, .NET FrameworkBazy danych: Microsoft SQL 2000 – 2012 (T-SQL)

Pasjonat baz danychCertyfikaty: MCITP, MCP, MCTS

Zainteresowania zawodowe:Optymalizacja baz danychHurtownie danychSQL Server Integration Services (SSIS)

KamilNowiński

Page 3: Change Tracking

AGENDA• Cel do osiągnięcia• Ogólna koncepcja CHANGE TRACKING• Korzyści• Sposób uruchomienia• Ustawienia i uprawnienia• Funkcje zmian• DEMO• CDC – czym „to” się różni?• Czy CT może być przydatny?

Page 4: Change Tracking

CHANGE TRACKING

• Cel:• Wskazanie wierszy, które uległy zmianie/usunięciu od czasu…

• Jak to było wcześniej…• DML Triggers – bardzo kosztowne operacje (wzrost czasu wykonania)• Dodatkowe tabele – przechowywanie info o zmianach• Konieczność czyszczenia dodatkowych tabel

• Wady:• Czasochłonne (kosztowne) tworzenie wyzwalaczy i tabel

dodatkowych• Spadek wydajności• Złożone procesy

Page 5: Change Tracking

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ł zmodyfikowanyo Nie: jakie wartości (historyczne) były przed zmianami

• Funkcjonalność wprowadzona w SQL 2008

• Korzyści:• Brak konieczności tworzenia wyzwalaczy i dodatkowych tabel• Nieobciążające silnika bazy danych• Prostota działania• Minimalna zajętość przestrzeni dyskowej• Wbudowane funkcje pobierania zmian w zapytaniach• Auto Clean Up

Page 6: Change Tracking

CHANGE TRACKING• Uruchomienie mechanizmu:• Włączenie dla bazy danych• Ustawienie parametrów

• Włączenie dla wybranej tabeli/tabel• Narzędzia:• SSMS• T-SQL (ALTER DATABASE, ALTER TABLE)

Page 7: Change Tracking

CHANGE TRACKING

• Poziom kompatybilności >= 90• Uprawniania:• SELECT (min. do PK tabeli źródłowej)• VIEWCHANGETRACKING

• Każda tabela = jedna tablica zmian• Przechowywanie wartości klucza głównego• Zmiany dostępne przez tzw. funkcje zmian

Page 8: Change Tracking

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()

Page 9: Change Tracking

DEMO

Page 10: Change Tracking

Differences Between Change Data Capture and Change Tracking

CHANGE TRACKING

Page 11: Change Tracking
Page 12: Change Tracking

Q&ADziękuję za uwagę.

Kamil Nowiń[email protected] GSM: +48 601 696 733

Page 13: Change Tracking

© 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.

© 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.