Wydaje mi się, że pamiętam, że w 2008 r. Można przywrócić kopię zapasową do nowej kopii bazy danych, zmieniając nazwę w polu „Docelowa baza danych” w kreatorze przywracania. Stworzyłoby to zupełnie nową bazę danych, która jest kopią oryginalnej bazy danych przywróconą do momentu, w którym chciałeś. Nie zastanawiałem się przez całe życie, jak sprawić, by SQL 2012 to robił.
Teraz rozumiem (dzięki Aaronowi Bertrandowi), że tak naprawdę to się nie zmieniło i że w 2012 r. Jest dla mnie bardziej oczywiste, że ta strategia była kiepskim pomysłem!
Więc muszę to zrobić: Utwórz nową bazę danych „MyDB_Copy” z istniejącej bazy danych „MyDB”, korzystając z jej plików kopii zapasowej. Mamy nocne kopie zapasowe (.bak) i co 15 minut TLog (.trn). Nie chcę w żaden sposób wpływać na istniejący „MyDB”, ponieważ jest on „na żywo”.
Po utworzeniu MyDB_Copy z głównego pliku pełnej kopii zapasowej, muszę przywrócić kilkadziesiąt kopii zapasowych TLog, aby dostać się do określonego momentu.
źródło
Odpowiedzi:
Opierając się luźno na przykładzie E w dokumentacji , otwórz nowe okno zapytania i uruchom:
Nazwy logiczne nie są ważne; Fizyczne nazwy plików to. To czyni założenia dotyczące twoich logicznych nazw plików i że są tylko dwa; biegać
EXEC MyDB..sp_helpfile;
aby się upewnić.Jeśli chcesz przywrócić dzienniki, zmień
RECOVERY
naNORECOVERY
:Następnie możesz wydać serię:
I na ostatnim:
Lub jeśli potrzebujesz tylko części logowania do określonego momentu (zakładam, że sprawdziłeś, gdzie są numery LSN i czasy, więc dokładnie wiesz, które pliki potrzebujesz):
Sposób, w jaki mówiłeś, że działał w poprzednich wersjach, nigdy by nie działał, chyba że kopia zapasowa pochodziła z innego serwera. Domyślnie będzie próbował umieścić nowe pliki mdf i ldf w dokładnie tym samym miejscu, a to nie jest możliwe.
źródło
Wszystko, co musisz zrobić, aby przywrócić tę samą bazę danych wiele razy, to zmienić nazwę plików dyskowych dla tej bazy danych. Oczywiście musisz nadać bazie danych inną nazwę niż jakakolwiek inna baza danych w SQL Server. W SSMS po wybraniu pliku .bak do przywrócenia i wpisaniu nazwy bazy danych, kliknij „Pliki” w sekcji „Wybierz stronę” po lewej stronie i po prostu zmień nazwę plików dyskowych.
Na zdrowie Doug
źródło