Mam bazę danych SQL Server, która tworzy kopie zapasowe dzienników transakcji co 10 minut, z nocną pełną kopią zapasową.
Używając SQL 2008 Management studio wydaje się, że musimy wybierać każdy dziennik transakcji jeden po drugim. Czy jest jakiś sposób wskazania go na katalog?
Zastanawiam się nad uruchomieniem różnicowej kopii zapasowej kilka razy dziennie, co może zrekompensować część tego, ale przechodzenie jeden po drugim przez dziesiątki / setki plików wydaje się dość czasochłonne. Pisanie kodu, aby spróbować napisać skrypt, wydaje się zbyt odbiegające od naszych podstawowych kompetencji.
Jeśli SQL Server Management Studio nie ma szybszego sposobu, być może dostępne jest narzędzie innej firmy?
sql-server
sql-server-2008
ssms
aSkywalker
źródło
źródło
Odpowiedzi:
Nie ma sposobu, aby określić grupę kopii zapasowych dziennika transakcji (folder oк) do przywrócenia w SQL Server Management studio.
Ale wszystkie informacje na temat operacji tworzenia kopii zapasowych programu SQL Server można znaleźć w bazie danych MSDB (zestaw kopii zapasowych tabeli i powiązane).
Oto skrypt do generowania poleceń programu SQL Server do przywracania bazy danych z kopii zapasowej i stosowania kopii zapasowych wszystkich dzienników transakcji wykonanych od ostatniej pełnej kopii zapasowej bazy danych. Myślę, że to powinno ci pomóc.
źródło
Oto przykład automatycznego generowania skryptu przywracania programu SQL Server z plików kopii zapasowych w katalogu przy użyciu TSQL:
Automatyczne generowanie skryptu przywracania programu SQL Server z plików kopii zapasowych w katalogu
Automatyczne generowanie skryptów przywracania bazy danych SQL Server
źródło
potrzebujesz tylko listy instrukcji SQL, takich jak ...
Możesz więc stworzyć skrypt VB, który z łatwością wygeneruje ten kod SQL z danego folderu. Oto przykład http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/restoring-multiple-transaction-log-backu
Po utworzeniu kodu SQL wystarczy sprawdzić, czy wygląda poprawnie i uruchomić go.
źródło
Nie chciałem stosować przyjętej odpowiedzi w oparciu o SQL, ponieważ nie chciałem włączać rozszerzonych procedur przechowywanych. Napisałem więc skrypt PowerShell, aby to zrobić.
Wskazujesz go na folder, a on generuje skrypt na podstawie najnowszej pełnej kopii zapasowej i wszystkich kolejnych kopii dziennika transakcji.
źródło