Varmuuskopioi ja palauta SQL Server -tietokannan komentoriviltä

Sisällysluettelo:

Varmuuskopioi ja palauta SQL Server -tietokannan komentoriviltä
Varmuuskopioi ja palauta SQL Server -tietokannan komentoriviltä

Video: Varmuuskopioi ja palauta SQL Server -tietokannan komentoriviltä

Video: Varmuuskopioi ja palauta SQL Server -tietokannan komentoriviltä
Video: tumblr.com - erfolgreich Bloggen - YouTube 2024, Huhtikuu
Anonim

SQL Serverin huoltosuunnitelman tärkein osa on varmuuskopioida tietokantojasi säännöllisesti. Tietokannan varmuuskopiointiin ei voi yksinkertaisesti kopioida tietokannan MDF- ja LDF-tiedostoja, koska SQL Serverilla on lukitus. Sen sijaan sinun on luotava todellinen varmuuskopio-tiedosto SQL Serverin kautta.

Vaikka tämä voidaan tehdä kehittämällä ylläpitosuunnitelma SQL Management Studion sisällä, SQL Serverin ilmaiset Express-versiot eivät tarjoa tätä käyttöliittymää. Tämän ongelman ratkaisemiseksi voit helposti varmuuskopioida tietokantojasi suorittamalla seuraavan komennon sisäänkirjautuneena Windows-järjestelmänvalvojana:

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

Alla olevat esimerkit auttavat.

Oletusarvoinen SQL Server -esimerkki:

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

Nimetty SQL Server -esimerkki:

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

Edellä on luotu täysin palautuskelpoinen "MyDB" -kopion kopio tiedostoon "D: BackupsMyDB.bak", jota voidaan käyttää katastrofikorvaukseen. Tietenkin voit vaihtaa varmuuskopiointipaikan ja -tiedoston mihin tahansa tarvitset, mutta varmista, että määrität kansion sijainnin, joka sijaitsee paikallisessa koneessa. Tämä varmuuskopiotiedosto voidaan sitten kopioida nauha-asemaan tai muuhun ulkoiseen varmuuskopiointiin.

Yleinen kysymys on "Voidaanko varmuuskopiotiedosto luoda yhdistetylle asemalle tai UNC-paikalle?" Ja nopea vastaus ei ole. Syynä on se, että SQL Server Windows Service toimii käyttäjätunnuksena, jolla on vain pääsy paikalliseen koneeseen. Voisit muuttaa tiliä, jonka palvelu toimii, mutta tämä on erittäin epäedullinen turvallisuussyistä.

Tietokannan varmuuskopioinnin palauttaminen komentoriviltä

Jos haluat palauttaa tietokannan varmuuskopiotiedostosta, käytä komentoa:

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

Esimerkiksi:

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

Yllä oleva komento palauttaa varmuuskopion "MyDB": sta varmuuskopiotiedostossa "D: BackupsMyDB.bak" tallennetuista tiedoista. Kaikki muutokset, jotka MyDB-tiedostoon on tehty varmuuskopiotiedoston luomisen jälkeen, menetetään.

Tärkeä asia muistaa, kun käytät yllä olevaa komentoa, on se, että sitä on tarkoitus käyttää samassa SQL Server -järjestelmässä, johon vastaava varmuuskopiotiedosto on luotu. SQL-varmuuskopiotiedostot tallentavat "taaksepäin" tietoja, jotka ohjaavat, missä ja miten varmuuskopiotiedoston datatiedostot kopioidaan. Jos palautat varmuuskopiota toiselta SQL-palvelimelta, varmuuskopiotiedoston polun sijainnit eivät välttämättä vastaa palvelinta, johon palaat, ja tuloksena on virhe. Vaikka tätä voidaan kehittää, on paljon helpompi palauttaa toiselle SQL Serverille luodut varmuuskopiot SQL Management Studio -työkalun avulla.

Huomaa: yllä olevat komennot toimivat SQL 2005: ssa ja uudemmissa (mikä tahansa versio). SQL 2000: lle ja aiemmalle, korvaa 'SqlCmd' ja 'oSql'.

Suositeltava: