2010-05-24 11 views
6

Mam stronę demonstracyjną, gdzie każdy może się zalogować i przetestować interfejs zarządzania.Najlepszy sposób automatycznego przywracania bazy danych co godzinę

Co godzinę chciałbym opróżnić wszystkie dane z bazy danych SQL 2008 i przywrócić je z oryginału.

Oprogramowanie Red Gate ma dla tego niesamowite narzędzia, ale obecnie są one poza moim budżetem.

Mogę po prostu zrobić kopię zapasową pliku danych bazy danych, a następnie mieć aplikację C#, która usuwa ją i kopiuje na oryginale. Następnie mogę mieć zadanie harmonogramu systemu Windows, aby uruchomić .exe co godzinę.

To proste i darmowe ... czy to działa?

Używam SQL Server Edition 2008 R2 Web

Rozumiem, że Red Gate Software jest technicznie lepszy, bo mogę ustawić go analizować db i aktualizuje tylko rekordy, które zostały zmienione, a podejście, które mam powyżej, jest jak "młot".

+0

Nie jestem pewien, czy twoja wersja obsługuje tę funkcję, ale możesz także spojrzeć na migawki. Możesz utworzyć migawkę bazy danych i regularnie ją przywracać. Po przywróceniu baza danych musi znajdować się w trybie pojedynczego użytkownika. – flup

Odpowiedz

9

To proste i darmowe ... czy to działa?

Tak, można zrobić to w ten sposób, ale należy pamiętać, aby umieścić DB w trybie pojedynczego użytkownika przed przywróceniem go inaczej przywracania zawiedzie

przykład skryptu

USE master 
GO 

ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
GO 



RESTORE DATABASE YourDB FROM DISK=N'D:\Backup\Pristine.BAK' WITH FILE = 1, 
NOUNLOAD, REPLACE, STATS = 10 
GO 

ALTER DATABASE YourDB SET MULTI_USER 
GO 
+0

Awesome, po prostu ustawię zaplanowane jako zadanie w SQL, aby uruchomić to co godzinę. dzięki! – aron

1

Może to być skryptowane przy użyciu SQL i zaplanowane jako zadanie na serwerze do wykonania raz na godzinę. Ponieważ masz kopię zapasową, zakładam, że jest nieskazitelna, to wszystko, co musisz zrobić, to przełączyć bazę danych w tryb offline, przywrócić z kopii zapasowej, przywrócić bazę danych do trybu online. Wszystko to można skryptować. Czy potrzebujesz skryptów?

+0

Witam websch01ar, tak, wyślij mi je e-mailem. Dzięki aron {at} uswebpro (okres) com – aron

0

Mogłabyś również odłączyć bazę danych, nadpisać dane i pliki dziennika z szablonu (wcześniej odłączone), a następnie ponownie dołączyć.

+0

w prawo, ale to nie jest zautomatyzowane. – aron

+0

@aron Może być zautomatyzowany w taki sam sposób jak przywracanie. Możesz użyć zaplanowanego pakietu SSIS, skryptu używającego xp_cmdshell lub zewnętrznego skryptu poleceń systemu Windows z sqlcmd dla operacji SQL. –

Powiązane problemy