Typy sterowania współbieżnością
Gdy wiele osób próbować modyfikować dane w bazie danych w tym samym czas, system kontroli musi być zaimplementowana tak, aby zmiany dokonane przez osobę nie wpływają szkodliwie na te innej osoby.Jest to współbieżność kontroli.
Teoria sterowania współbieżność ma dwóch klasyfikacji dla metod wszczynający sterowania współbieżnością:
Kontrola Współbieżność pesymistyczna
System blokad uniemożliwia użytkownikom modyfikowanie danych w sposób, który wpływa na innych użytkowników.Po użytkownik wykonuje akcja wywołującą blokada stosowane, inni użytkownicy nie może wykonać akcje, które byłoby w konflikcie z blokada, dopóki nie zwolni właściciela.Jest nazywany pesymistycznego formantu, ponieważ jest on używany głównie w środowiskach, gdzie istnieje wysoki rywalizacja danych, gdy koszty ochrony danych za pomocą blokad jest mniejsza niż koszt wycofywanie transakcji, jeśli występują konflikty współbieżność.
Kontrola optymistycznej współbieżność
W formancie optymistycznej współbieżność użytkownicy nie blokada danych podczas ich do odczytu.Podczas aktualizacji danych użytkownika, system sprawdza, jeśli inny użytkownik zmienił dane po została przeczytana.Jeśli inny użytkownik zaktualizowane dane, powstaje błąd.Zazwyczaj użytkownik odbiera błąd powoduje wycofanie transakcji i rozpoczyna nad.Jest to nazywane optymistyczne, ponieważ głównie są używane w środowiskach, gdzie istnieje niski rywalizacja o danych, a koszt czasami wycofywanie transakcji jest niższa niż koszty blokowania podczas odczytu danych.
Microsoft SQL Server supports a range of concurrency control.Użytkownicy określają typ sterowania współbieżnością wybierając poziomów izolacji transakcji dla połączeń lub opcje współbieżność na kursory.Atrybuty te można zdefiniować za pomocą Transact-SQL instrukcji lub właściwości i atrybuty aplikacji bazy danych za pośrednictwem interfejsów programistycznych (API takie jak ADO ADO).NET, OLE DB i ODBC.
Aby uzyskać więcej informacji na temat współbieżność w kursory, zobacz Kursor współbieżności (aparat bazy danych).
Aby uzyskać więcej informacji na temat poziomów izolacji transakcji, zobacz Poziom izolacji w aparacie bazy danych.