change tracking

Post on 16-Apr-2017

443 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

…czyli Change Tracking w służbie MSSQL

SZPIEG Z KRAINY BAZY DANYCH…

Kamil Nowiński

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

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?

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

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

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)

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

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

DEMO

Differences Between Change Data Capture and Change Tracking

CHANGE TRACKING

Q&ADziękuję za uwagę.

Kamil Nowińskikamil@nowinski.net GSM: +48 601 696 733

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

top related