Czy możliwe jest wycofanie transakcji przy użyciu pliku Transactionlog dla określonego rekordu?Transakcja wycofania przy użyciu dziennika transakcji
Używam SQL Server 2005.
Czy możliwe jest wycofanie transakcji przy użyciu pliku Transactionlog dla określonego rekordu?Transakcja wycofania przy użyciu dziennika transakcji
Używam SQL Server 2005.
Natywnie, nie. Sądzę jednak, że są na to drogie narzędzia innych firm.
Alternatywnie można przywrócić dane z kopii zapasowej, a następnie RESTORE LOGS
do punktu w czasie z argumentem STOPAT = '6/30/2009 2:30PM'
. Dostępne są Apex i SQL Log Rescue. Jeśli jednak Twoje dzienniki nie są w trybie odzyskiwania FULL
, możesz przejść do góry, jeśli nie możesz przywrócić.
Sprawdź produkt RedGate's LogRescue. Bez produktów innych firm prawdopodobnie ograniczasz się do przywracania czasu do oddzielnej bazy danych, a następnie ręcznego kopiowania rekordu z powrotem do produkcyjnej bazy danych.
Zgodnie ze swoją stroną, LogRescue jest ograniczona do SQL Server 2000 tylko –
Z tego, co wiem, dostępne są następujące opcje: ApexSQL Log (drogie, ale z bezpłatną wersją próbną) lub nieudokumentowane polecenia programu SQL Server, takie jak dziennik DBCC i fn_dblog.
Dowolny z nich działa tylko wtedy, gdy baza danych była w pełnym trybie odzyskiwania, w którym to przypadku SQL Server przechowuje o wiele więcej szczegółów w dzienniku transakcji.
Również nie sądzę, że to działa dla każdego rodzaju transakcji. Widziałem ludzi używających tej techniki do przywracania wstawiania, aktualizowania, usuwania, ale jestem naprawdę pewien, czy można go użyć, aby przywrócić, powiedz ALTER TABLE lub coś podobnego.
darmowy okres próbny będzie generował tylko skrypty cofania dla co 10 rekordu. – viggity
Jeśli chodzi o oprogramowanie innych producentów, można używać oprogramowania Dell Toad bezpłatnie przez trzydzieści dni, i ma dzienniki transakcji z możliwością generowania skryptów cofania.
Czy możesz podać mi próbkę tych narzędzi? – THEn
Zalecanym sposobem jest przywrócenie kopii bazy danych za pomocą STOPAT, a następnie skopiowanie danych z kopii do rzeczywistej bazy danych. –