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

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

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

    Bár ezt az SQL Management Studio belsejében lévő karbantartási terv elkészítésével lehet megtenni, az SQL Server ingyenes Express kiadásai nem kínálják ezt a felületet. Ennek megkerülése érdekében könnyen letöltheti az adatbázisokat az alábbi parancs futtatásával Windows rendszergazdaként bejelentkezve:

    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.

    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 fentiekben a „MyDB” teljesen visszaállítható biztonsági másolata a „D: BackupsMyDB.bak” fájlba kerül, amely a katasztrófa utáni helyreállításhoz használható. Természetesen megváltoztathatja a biztonsági mentési helyet és a fájlt, amire szüksége van, de győződjön meg róla, hogy megad egy mappát a helyi gépen. Ezt a biztonsági mentési fájlt ezután másolhatjuk egy szalagos meghajtóra vagy egy másik külső biztonsági helyre.

    A gyakori kérdés: „Lehet-e biztonsági mentési fájl létrehozása egy leképezett meghajtóra vagy UNC helyre?”, És a gyors válasz nem. Ennek 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áltoztathatja azt a fiókot, amelyen a szolgáltatás fut, de ez biztonsági okokból nagyon kedvezőtlen.

    Adatbázis-mentés visszaállítása a parancssorból

    Egy adatbázis biztonsági mentési fájlból történő visszaállításához egyszerűen használja a parancsot:

    SqlCmd -E -S Server_Name -Q “RESTORE DATABASE [Name_of_Database] 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 mentését a „D: BackupsMyDB.bak” biztonsági mentési fájlban tárolt adatokból. A biztonsági mentési fájl létrehozása óta a MyDB-ben végrehajtott módosítások elvesznek.

    Fontos megjegyezni, hogy a fenti parancs használatakor ugyanazon az SQL Serveren kívánja használni, hogy a megfelelő biztonsági mentési fájlt létrehozták. Az SQL biztonsági mentési fájlok „a színfalak mögött” tárolják azokat az információkat, amelyek ellenőrzik, hogy hol és hogyan másolják a biztonsági másolat fájljait. Ha egy másik SQL Serverről készít biztonsági másolatot, előfordulhat, hogy a biztonsági mentési fájl elérési útvonala nem egyezik meg a visszaállított kiszolgálóval, és hiba lép fel. Bár ez megtörténhet, sokkal könnyebb helyreállítani az SQL Management Studio eszközzel egy másik SQL Serveren létrehozott biztonsági másolatokat.

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