Najvažniji dio plana održavanja SQL Servera redovito čuva vaše baze podataka. Da biste stvorili sigurnosnu kopiju baze podataka, ne možete jednostavno kopirati odgovarajuće MDF i LDF datoteke baze podataka jer SQL Server ima zaključavanje. Umjesto toga, morate stvoriti istinitu datoteku sigurnosne kopije putem SQL Server.
Iako se to može obaviti razvojem plana održavanja unutar SQL Management Studio, slobodna Express izdanja sustava SQL Server ne nude ovo sučelje. Da biste to olakšali, možete jednostavno izraditi sigurnosne kopije svojih baza podataka tako da pokrenete naredbu u nastavku dok ste prijavljeni kao administrator sustava Windows:
SqlCmd -E -S Server_Name -Q "DATABASE BACKUP [Name_of_Database] U DISK =" X: PathToBackupLocation [Name_of_Database] .bak ""
Primjeri u nastavku pomoći će.
Zadana instanca sustava SQL Server:
SqlCmd -E -S MyServer -Q "DATABASE BACKUP [MyDB] DISK =" D: BackupsMyDB.bak ""
Nazvan SQL Server primjer:
SqlCmd -E -S MyServerMyInstance -Q "DATABASE BACKUP [MyDB] DISK =" D: BackupsMyDB.bak ""
Gore izraditi potpuno obnovljivu sigurnosnu kopiju "MyDB" u datoteku "D: BackupsMyDB.bak" koja se može koristiti za oporavak od katastrofe. Naravno, možete promijeniti rezervnu lokaciju i datoteku na sve što vam je potrebno, ali svakako navedite lokaciju mape koja postoji na lokalnom računalu. Ta se sigurnosna kopija može kopirati na kasetofon ili drugu vanjsku sigurnosnu kopiju.
Uobičajeno pitanje je "Može li sigurnosna kopija datoteke biti stvorena na mapirani pogon ili UNC mjesto?" I brzi odgovor je ne. Razlog tomu je što usluga SQL Server Windows radi kao korisnički račun koji ima samo pristup lokalnom računalu. Možete promijeniti račun na kojem se usluga pokreće, ali to je izuzetno obeshrabreno iz sigurnosnih razloga.
Da biste vratili bazu podataka iz datoteke sigurnosne kopije, jednostavno upotrijebite naredbu:
SqlCmd -E -S Server_Name -Q "RESTORE DATABASE [Naziv_Database] FROM DISK =" X: PathToBackupFile [File_Name] .bak ""
Na primjer:
SqlCmd -E -S MyServer -Q "ODRŽAVANJE DATABASE [MyDB] FROM DISK =" D: BackupsMyDB.bak ""
Gornja naredba će vratiti sigurnosnu kopiju "MyDB" iz podataka pohranjenih u datoteci sigurnosne kopije "D: BackupsMyDB.bak". Sve promjene koje su izvršene na MyDB od izrade sigurnosne kopije datoteke bit će izgubljene.
Važna stvar koju treba zapamtiti kada koristite gornju naredbu je da se namjerava koristiti na istom SQL poslužitelju na kojem je stvorena odgovarajuća sigurnosna kopija. SQL sigurnosne kopije datoteka pohranjuju 'iza scene' informacije koje kontroliraju gdje i kako se kopiraju podatkovne datoteke u datoteci sigurnosne kopije. Ako vraćate sigurnosnu kopiju s drugog SQL poslužitelja, lokacije puta u datoteci sigurnosne kopije možda se ne podudaraju s poslužiteljem na koji se vraćate i dolazi do pogreške. Iako se to može raditi, puno je lakše vratiti sigurnosne kopije stvorene na drugom SQL Serveru koristeći alat SQL Management Studio.
Napomena: gore navedene naredbe će raditi na SQL 2005 i novijim verzijama (bilo koje izdanje). Za SQL 2000 i ranije, zamijenite 'SqlCmd' s 'oSql'.