Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zarządzanie transakcjami w SQL Server Marek Adamczuk.

Podobne prezentacje


Prezentacja na temat: "Zarządzanie transakcjami w SQL Server Marek Adamczuk."— Zapis prezentacji:

1 Zarządzanie transakcjami w SQL Server Marek Adamczuk

2 O mnie Od blisko 12 lat programista SQL Server (od 6.5) Kierownik Wydziału Zarządzania Jakością, Zmianą i Wiedzą w Asseco Business Solutions Warszawa Członek i prelegent PLSSUG Warszawa MCP, MCSE, MCDBA, MCTS, MVP SQL Server

3 Agenda Co to jest transakcja? Co jest, a co nie jest transakcją w SQL Server? Demo: zarządzanie transakcją wewnątrz procedury – Prawidłowa obsługa błędów – Zagnieżdżanie transakcji, transakcje nazwane, – Punkty przywracania, SAVE TRAN – Droga na skróty TRY..CATCH i XACT_ABORT – Jeśli czas pozwoli: próba implementacji transakcji autonomicznej Poziom sesji: 300 (co najmniej)

4 Definicja transakcji Sekwencja operacji modyfikujących bazę danych traktowana jako całość, tj. z możliwością wycofania w całości Cechy dobrej implementacji transakcyjności – ACID: Atomic – jeśli wycofujemy to wszystko Consistent – po zakończeniu baza jest w spójnym stanie Isolated – bez wpływu na inne transakcje Durable – jeśli zatwierdzamy to efekt jest trwały, nawet w przypadku utraty zasilania

5 Co jest transakcją w SQL Server? Pojedyncza operacja modyfikująca z grupy DDL, DML lub DCL poza SELECT..INTO Operacje w wyzwalaczu (trigger) wraz z instrukcją modyfikującą uruchamiającą go Transakcja użytkownika: świadomie sterowana poleceniami BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN i SAVE TRAN

6 Co NIE jest transakcją? Instrukcja SELECT poza SELECT..INTO Podstawienie do parametru lub zmiennej, w tym do zmiennej tablicowej Niskopoziomowe operacje na plikach typu: CREATE/DROP/ALTER DATABASE, BACKUP, RESTORE, CHECKPOINT, DBCC.

7 Transakcje - pojęcia Transakcja zagnieżdżona – transakcja rozpoczęta wewnątrz większej transakcji Transakcja nazwana – wykorzystująca punkty przywracania Transakcja niejawna – zaczynana przez operację modyfikującą, ale wymagającą ręcznego zatwierdzenia prze COMMIT TRAN Transakcja rozproszona – wykonywana na więcej niż jednym serwerze (protokół 2PC) Transakcja autonomiczna – transakcja zagnieżdżona, ale z możliwością niezależnego wycofania

8 Demo – system magazynowy Specyfikacja – Stan magazynu zmieniany kolejno numerowanymi dokumentami przychodu i rozchodu – Jeden towar tylko raz na dokument (na 1 pozycji) – Kontrola stanu (bez stanów ujemnych) – Szybki dostęp do sumarycznej ilości sztuk na dowodzie – Możliwość realizacji zamówień z zewnętrznego systemu dokumentami rozchodowymi z zachowaniem powiązania z zamówieniem

9 Podsumowanie Transakcje w SQL Server wymagają obsługi – To programista SQL ma kontrolować błędy Zagnieżdżanie transakcji – Ograniczone zaufanie do uruchamiającego nasze transakcyjne procedury – Ograniczone zaufanie do – Tryb IMPLICIT_TRANSACTIONS wymaga innego kodu – SAVE TRAN – dobrze nazywać savepointy – Istnieje czasem trzecia droga Transakcje autonomiczne – mogą się przydać – Nie ma bezpośredniej obsługi w SQL Server

10 Pytania? ???


Pobierz ppt "Zarządzanie transakcjami w SQL Server Marek Adamczuk."

Podobne prezentacje


Reklamy Google