Az SQL Server adatbázisának biztonsági mentése és visszaállítása a parancssorból

Tartalomjegyzék:

Az SQL Server adatbázisának biztonsági mentése és visszaállítása a parancssorból
Az SQL Server adatbázisának biztonsági mentése és visszaállítása a parancssorból

Videó: Az SQL Server adatbázisának biztonsági mentése és visszaállítása a parancssorból

Videó: Az SQL Server adatbázisának biztonsági mentése és visszaállítása a parancssorból
Videó: 🌐 Educación y redes sociales - YouTube 2024, Április
Anonim

Az SQL Server karbantartási tervének legfontosabb része az adatbázisok rendszeres biztonsági mentése. Adatbázis mentéséhez nem egyszerűen másolhatja az adatbázis megfelelő MDF- és LDF-fájljait, mivel ezeken az SQL Server zárolt. Ehelyett egy valós mentési fájlt kell létrehoznia az SQL Serveren keresztül.

Bár ezt az SQL Management Studio karbantartási tervének kidolgozásával lehet megvalósítani, az SQL Server ingyenes Express kiadásai nem kínálják ezt az interfészt. Ennek megfejtéséhez könnyen mentheti az adatbázisokat az alábbi parancs futtatásával, miközben Windows rendszergazdaként bejelentkezett:

SqlCmd -E -S Server_Name –Q “BACKUP DATABASE [Name_of_Database] TO DISK=’X:PathToBackupLocation[Name_of_Database].bak'”

Az alábbi példák segítenek.

Az alapértelmezett SQL Server példány:

SqlCmd -E -S MyServer –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

Megnevezett SQL Server példány:

SqlCmd -E -S MyServerMyInstance –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

A fentiek teljes egészében helyreállíthatják a "MyDB" biztonsági másolatot a "D: BackupsMyDB.bak" fájlra, amelyet a katasztrófa-helyreállításhoz lehet használni. Természetesen megváltoztathatja a mentési helyet és a fájlt, amire szüksége van, de győződjön meg arról, hogy megad egy mappát a helyi gépen. Ezt a biztonsági másolatot egy szalagos meghajtóra vagy egy másik külső mentési helyre másolhatja.

Gyakori kérdés, hogy "Lehet-e biztonsági mentési fájlt létrehozni egy leképezett meghajtóra vagy UNC helyre?", És a gyors válasz nem. Ennek az az oka, hogy az SQL Server Windows Service olyan felhasználói fiókként működik, amely csak a helyi géphez fér hozzá. Megváltoztathatta a fiókot, amellyel a szolgáltatás fut, de ez biztonsági okok miatt igen kedvezőtlen.

Adatbázis-biztonsági másolat visszaállítása a parancssorból

Egy adatbázis biztonsági másolatának visszaállításához egyszerűen használja a parancsot:

SqlCmd -E -S Server_Name –Q “RESTORE DATABASE [Name_of_Database] FROM DISK=’X:PathToBackupFile[File_Name].bak'”

Például:

SqlCmd -E -S MyServer –Q “RESTORE DATABASE [MyDB] FROM DISK=’D:BackupsMyDB.bak'”

A fenti parancs visszaállítja a "MyDB" biztonsági másolatát a "D: BackupsMyDB.bak" biztonsági másolatfájlban tárolt adatokból. A MyDB által a biztonsági másolat készítése óta végrehajtott módosítások elvészek.

Fontos megjegyezni, hogy a fenti parancs használatakor ugyanazt az SQL Server-et kell használni, hogy a megfelelő biztonsági másolat kész. Az SQL biztonsági fájlok a jelenetek mögött tárolják azokat az információkat, amelyek meghatározzák, hogy a mentési fájlban található adatfájlok hol és hogyan kerülnek másolásra. Ha egy másik SQL szerverről visszaállít egy biztonsági másolatot, akkor a biztonsági mentési állományban lévő elérési helyek nem egyezhetnek a visszaállítandó kiszolgálóval, és hiba lép fel. Bár ez meg lehet dolgozni, sokkal könnyebb visszaállítani a másik SQL Server-ben létrehozott mentéseket az SQL Management Studio eszközzel.

Megjegyzés: a fenti parancsok az SQL 2005-ös és újabb verziókon (bármilyen kiadás) fognak működni. SQL 2000 és korábbi verziók esetén cserélje ki az 'SqlCmd' kifejezést 'oSql' programmal.

Ajánlott: