Koduleht » kuidas » SQL Serveri andmebaasi varundamine ja taastamine käsurealt

    SQL Serveri andmebaasi varundamine ja taastamine käsurealt

    SQL Serveri hooldusplaani kõige olulisem osa on andmebaaside varundamine regulaarselt. Andmebaasi varundamiseks ei saa lihtsalt andmebaasi vastavaid MDF- ja LDF-faile kopeerida, kuna SQL Serveril on nende lukk. Selle asemel peate SQL Serveri kaudu looma tõelise varufaili.

    Kuigi seda saab teha hooldusplaani väljatöötamisel SQL Management Studio sees, ei paku SQL Server'i tasuta Express-väljaanded seda liidest. Selle ümber töötamiseks saate oma andmebaase hõlpsasti varundada, kui käivitate allpool käsu, kui olete Windowsi administraatorina sisse loginud:

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

    Allpool toodud näited aitavad.

    SQL Serveri vaikimisi instants:

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

    Nimega SQL Serveri eksemplar:

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

    Ülaltooduga luuakse täielikult taastatav varukoopia „MyDB” failist „D: BackupsMyDB.bak”, mida saab kasutada katastroofide taastamiseks. Loomulikult saate varukoopia asukohta ja faili muuta nii, nagu vajate, kuid veenduge, et määrate kohaliku masina olemasoleva kausta asukoha. Seda varukoopiat saab seejärel kopeerida lindiseadmesse või teise välise varukoopia asukohta.

    Üldine küsimus on „Kas varukoopia saab luua kaardistatud draivi või UNC asukohta?” Ja kiire vastus on ei. Põhjuseks on see, et SQL Server Windows Service töötab kasutajakontol, millel on juurdepääs ainult kohalikule masinale. Sa võid muuta kontot, mida teenus toimib, kuid see on turvalisuse huvides väga heidutav.

    Andmebaasi varukoopia taastamine käsurealt

    Andmebaasi varundfailist taastamiseks kasutage lihtsalt käsku:

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

    Näiteks:

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

    Ülaltoodud käsk taastab varukoopia "D: BackupsMyDB.bak" salvestatud andmetest varukoopia "MyDB". Kõik varukoopiafaili loomisel MyDB tehtud muudatused kaovad.

    Ülaltoodud käsu kasutamisel on oluline meeles pidada, et seda kavatsetakse kasutada samal SQL Serveril, kus on loodud vastav varukoopia. SQL varukoopiad salvestavad "kulisside taga" informatsiooni, mis kontrollib, kus ja kuidas kopeeritakse varukoopia faile. Kui taastate varukoopia teisest SQL Serverist, ei pruugi varukoopia failide asukohad olla vastavuses serveriga, mille taastate, ja tulemuseks on viga. Kuigi seda on võimalik töötada, on SQL Server Studio vahendusel teises SQL Serveris loodud varukoopiate taastamine palju lihtsam.

    Märkus: ülaltoodud käsud töötavad SQL 2005 ja kõrgemate versioonidega (mis tahes väljaanne). SQL 2000 ja varasemate versioonide puhul asenda 'SqlCmd' 'oSql'ga.