/ / Varmuuskopioi ja palauta SQL Server -tietokanta komentoriviltä

Varmuuskopioi ja palauta SQL Server -tietokanta komentoriviltä

Tärkein osa SQL Serveriähuoltosuunnitelma varmuuskopioi tietokannat säännöllisesti. Tietokannan varmuuskopioimiseksi ei voi vain kopioida tietokannan vastaavia MDF- ja LDF-tiedostoja, koska SQL Serverillä on nämä lukot. Sen sijaan sinun on luotava todellinen varmuuskopiotiedosto SQL Serverin kautta.

Vaikka tämä voidaan tehdä kehittämälläSQL Management Studion ylläpitosuunnitelma, SQL Serverin ilmaiset Express-versiot eivät tarjoa tätä käyttöliittymää. Voit kiertää tämän varmuuskopioimalla tietokannasi suorittamalla alla olevan komennon kirjautuneena sisään Windows-järjestelmänvalvojana:

SqlCmd -E -Spalvelimen_nimi –Q “TURVALLINEN TIETOKANTA [Nimi_ tietokannan] LEVYLE = = X: PathToBackupLocation [Nimi_ tietokannan] .bak '”

Alla olevat esimerkit auttavat.

Oletus SQL Server -ilmentys:

SqlCmd -E -S MyServer –Q “VARATIETOKANTA [MyDB] LEVYLE = 'D: BackupsMyDB.bak'"

Nimetty SQL Server -ilmentymä:

SqlCmd -E -S MyServerMyInstance –Q “VARUSTIETOKANTA [MyDB] LEVYLE = 'D: BackupsMyDB.bak'"

Yllä oleva luo täysin palautettavan varmuuskopiontiedostosta ”D: BackupsMyDB.bak”, jota voidaan käyttää katastrofien palautukseen. Tietysti voit muuttaa varmuuskopion sijainnin ja tiedoston mihin tarvitset, mutta muista määrittää kansiopaikka, joka on paikallisessa koneessa. Tämä varmuuskopiotiedosto voidaan sitten kopioida nauha-asemaan tai toiseen ulkoiseen varmuuskopiopaikkaan.

Yleinen kysymys on ”Voiko varmuuskopiotiedosto ollaluotiin kartoitettuun asemaan tai UNC-sijaintiin? ”ja nopea vastaus on ei. Syynä siihen, että SQL Server Windows -palvelu toimii käyttäjätilinä, jolla on pääsy vain paikalliselle koneelle. Voit muuttaa tilin, jolla palvelu toimii, mutta tätä ei suositella turvallisuussyistä.

Tietokannan varmuuskopion palauttaminen komentoriviltä

Voit palauttaa tietokannan varmuuskopiotiedostosta käyttämällä vain komentoa:

SqlCmd -E -S Palvelimen_nimi –Q “PALAUTA TIETOKANTA [Nimi_Tietokanta] FROM DISK = = X: PathToBackupFile [File_Name] .bak '”

Esimerkiksi:

SqlCmd -E -S MyServer –Q “PALAUTA TIETOKANTA [MyDB] levyltä =” D: BackupsMyDB.bak ””

Yllä oleva komento palauttaa ”MyDB” -kopion varmuuskopiotiedostoon ”D: BackupsMyDB.bak” tallennetuista tiedoista. Kaikki varmuuskopiotiedoston luomisen jälkeen MyDB: hen tehdyt muutokset menetetään.

Tärkeä muistaa, kun käytätYllä oleva komento on, että se on tarkoitettu käytettäväksi samassa SQL Server -palvelimessa, jossa vastaava varmuuskopiotiedosto luotiin. SQL-varmuuskopiotiedostot tallentavat kulissien takana tietoja, jotka hallitsevat, missä ja miten varmuuskopiotiedoston tiedostot kopioidaan. Jos palautat varmuuskopion toisesta SQL-palvelimesta, varmuuskopiotiedoston polkujen sijainti ei välttämättä ole sama kuin palauttamaasi palvelinta, ja seurauksena on virhe. Vaikka tätä voidaan kiertää, toiseen SQL Server -palvelimeen luotujen varmuuskopioiden palauttaminen on paljon helpompaa SQL Management Studio -työkalun avulla.

Huomaa: Yllä olevat komennot toimivat SQL 2005: n tai uudemman version (mikä tahansa painos) kanssa. Korvaa SQL 2000 tai aiempi versio 'SqlCmd' ilmaisulla 'oSql'.