Aparat bazy danych blokując dane dla transakcji może to robić z dokładnością do rekordu, strony, partycji, tabeli. Opcja LOCK_ESCALATION określa jak ma się odbywać eskalacja blokad na poziom tabeli, gdy tabela jest partycjonowana.
Archiwum za miesiąc 2011-03
ALTER TABLE i SET LOCK_ESCALATION
Opcja set XACT_ABORT ON lub OFF
Czy zastanawiałeś się kiedyś, co się stanie, jeżeli wykonując ciąg instrukcji w ramach transakcji doprowadzisz do błędu? Czy transakcja się wykona opuszczając tę pojedynczą nieudaną instrukcję, czy też wycofa wszystkie operacje wykonywane w ramach transakcji? Reguluje to opcja XACT_ABORT.
Jak działa TRANSACTION ISOLATION LEVEL SERIALIZABLE?
W normalnych warunkach, czyli z ustawieniami domyślnymi każdy zapis nakłada na czas transakcji blokadę EXCLUSIVE czyli na wyłączność. Odczyty natomiast nakładają tzw. SHARE LOCK, czyli blokadę dzieloną. Na danym rekordzie może istnieć kilka SHARE LOCK, ale tylko jeden EXCLUSIVE LOCK. Jeżeli rekord ma nałożoną blokadę EXCLUSIVE, to nie można nałożyć na niego blokady SHARED. Takie […]
Table hint: TABLOCKX, HOLDLOCK, READPAST
Jeżeli zamierzasz wykonać procedurę składowaną pobierającą określone dane z jednej chwili, nie dopuszczając takiej opcji, że podczas wykonywania procedury ktoś dopisał/usunął czy też zmienił jakiś rekord możesz posłużyć się table hint TABLOCKX.
Cache procedur. Rekompilacja zapytań, procedur. Query Hint RECOMPILE
Ważną cechą optymalizacji zapytań w SQL Server jest to, że raz przygotowany plan wykonania (execution plan) jest zapisywany w cache procedur. Kiedy po raz kolejny użytkownik uruchomi takie samo zapytanie, SQL serwer nie tworzy nowego planu zapytań, ale realizuje stary zapamiętany plan. Oczywiście zdarzają się sytuacje kiedy plan trzeba utworzyć od nowa. Plan utworzy się […]
Query hint MAXDOP. Opcja serwera 'max degree of parallelism’. Wykorzystanie wielu procesorów w zapytaniu.
Oczywiście do wykonywania zapytań konieczna jest praca procesora… Miło by też było gdyby podczas wykonywania zapytań serwer rzeczywiście wykorzystywał kilka procesorów na raz! Reguluje tym parametr ‘max degree of parallelism’. Jest to wartość całkowita, która mówi ile procesorów jednocześnie może maksymalnie wykonywać jedno zapytanie. Nie regulujesz nim ile procesorów rzeczywiście wykona zapytanie, a jedynie określasz […]
Jak sprawdzić numer zainstalowanej wersji MDAC?
MDAC (Microsoft Data Access Components) to zbiór komponentów wydawanych przez Microsoft umożliwiający dostęp do danych. Niektóre programy mają specyficzne wymogi dotyczące tej biblioteki. Pojawia się wtedy pytanie „jaka wersja MDAC jest teraz zainstalowana”? Zgodnie z opisem na http://support.microsoft.com/kb/301202 można do tego użyć programu Component Checker, albo, co wydaje się o wiele prostsze zajrzeć do rejestru! Pod kluczem […]