Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zarządzanie transakcjami w SQL Server

Podobne prezentacje


Prezentacja na temat: "Zarządzanie transakcjami w SQL Server"— 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"

Podobne prezentacje


Reklamy Google