Piszę kod rejestrowania/audytu, który będzie działał w produkcji (nie tylko w przypadku zgłaszania błędów lub podczas opracowywania). Po przeczytaniu Coding Horror's experiences with dead-locking and logging zdecydowałem, że powinienem zasięgnąć porady. (Rozwiązanie "niezalogowania się" przez Jeffa nie zadziała, jest to prawnie obowiązkowa kontrola bezpieczeństwa)Porady dotyczące minimalizowania blokowania w tabeli tylko dołącz do MS SQL Server?
Czy istnieje odpowiedni poziom izolacji w celu zminimalizowania rywalizacji i zablokowania? Jakieś wskazówki dotyczące zapytań, które mogę dodać do instrukcji insert lub procedury przechowywanej?
Dbam głęboko o integralność transakcji dla wszystkiego oprócz tabeli kontroli. Chodzi o to, że tyle się zaloguje, że jeśli kilka wpisów nie powiedzie się, to nie jest problem. Jeśli rejestracja zatrzyma jakąś inną transakcję - to byłoby złe.
Mogę zalogować się do bazy danych lub pliku, chociaż logowanie do pliku jest mniej atrakcyjne, ponieważ muszę w jakiś sposób wyświetlić wyniki. Zalogowanie się do pliku może (prawie) zagwarantować, że rejestracja nie zakłóci działania innego kodu.
jaka wersja serwera sql? –
SQL 2000, chociaż istnieją pogłoski, że pewnego dnia biuro przejdzie do SQL 2008. – MatthewMartin