| Termin | Definicja |
|---|---|
| ROWVERSION (TIMESTAMP) | ROWVERSION to typ danych automatycznie generujący unikalną wartość binarną przy każdej zmianie wiersza. ROWVERSION w Microsoft SQL Server — licznik zmian wierszy
Wartości generowane w jednej bazie danych są użyteczne do wykrywania, że między dwoma odczytami zaszła zmiana. Mogą występować przerwy w numeracji, dlatego aplikacja nie powinna zakładać, że każda kolejna wartość różni się dokładnie o jeden. Licznik jest związany z konkretną bazą danych, więc wartość Dlaczego TIMESTAMP nie oznacza daty i czasuW SQL Server słowo kluczowe Przykładowa definicja tabeli może zawierać kolumnę Wartość można odczytać i przesłać do aplikacji jako dane binarne. W zapytaniach porównuje się ją z wartością wcześniej pobraną z tego samego wiersza. Nie powinno się natomiast wyświetlać jej użytkownikowi jako daty, wykonywać na niej operacji arytmetycznych właściwych dla czasu ani traktować jej jako informacji o tym, kiedy dokładnie zmieniono dane. Kontrola równoczesnej aktualizacji rekorduNajczęstszym zastosowaniem Jeżeli inny proces zmienił wcześniej ten sam wiersz, SQL Server nadał mu nową wartość Mechanizm nie zastępuje transakcji, blokad ani poprawnego modelu uprawnień. Chroni przed określonym rodzajem utraty zmian w scenariuszu odczyt–edycja–zapis, ale sam nie rozwiązuje problemów wynikających z kilku powiązanych tabel, błędnej kolejności operacji lub niewłaściwego poziomu izolacji transakcji. Wartość zwrócona po aktualizacji powinna zostać ponownie odczytana albo pobrana zgodnie z użytym sposobem wykonywania zapytania, jeśli aplikacja potrzebuje znać nową wersję rekordu. Praktyczne użycie przy analizie danych SQL ServerPodczas diagnostyki aplikacji korzystającej z SQL Server należy sprawdzić, czy kolumna jest rzeczywiście typu W zapytaniach raportowych kolumnę można zwracać razem z pozostałymi polami, ale jej znaczenie powinno być opisane jako wersja zmiany rekordu. Warto pamiętać, że sama obecność nowej wartości nie dostarcza informacji o tym, które pole zostało zmienione. Do ustalenia zakresu modyfikacji potrzebne są dane historyczne, dziennik zmian albo mechanizm audytowy skonfigurowany niezależnie od W przypadku problemów z zapisem na komputerze używanym do pracy z aplikacją technik może zweryfikować komunikaty SQL Server, parametry zapytania, typ przekazywanej wartości binarnej oraz wynik instrukcji aktualizującej. Szczególnej uwagi wymaga sytuacja, w której aplikacja zgłasza konflikt mimo braku widocznej edycji użytkownika: przyczyną może być aktualizacja wykonywana przez inne zadanie, procedurę lub proces synchronizacji. Taką przyczynę należy potwierdzić analizą konkretnych zapytań i kolejności operacji, a nie zamianą |