Hogyan készítsünk biztonsági mentést az SQL adatbázisokról hálózati megosztásra
Rendszeresen biztonsági másolatot kell készíteni az SQL adatbázisokról. Már foglalkozunk az SQL szerver adatbázisok helyi merevlemezre történő mentéséhez, de ez nem véd a meghajtó és / vagy a rendszer meghibásodása ellen. Az ilyen típusú katasztrófák elleni védelem további rétegeként másolhat vagy közvetlenül létrehozhat biztonsági mentéseket egy hálózati megosztásra.
Helyi mentés és másolás a hálózati megosztásra
Ennek a feladatnak az eléréséhez a legkedvezőbb és legközvetlenebb mód az, hogy egyszerűen hozzon létre egy helyi biztonsági mentést egy adatbázisból, majd másolja a megfelelő biztonsági mentési fájlt egy hálózati megosztásra. Ezt úgy hajthatja végre, ha olyan kötegfájlt hoz létre, amely így néz ki:
SET LocalFolder = C: ProgramfájlokMicrosoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q „MyDB biztonsági mentési adatbázis a lemezre ="% LocalFolder% MyDB.bak "
XCopy “% LocalFolder% MyDB.bak” „19.168.16.55BackupDatabases” / Z / V
DEL „% LocalFolder% MyDB.bak”
Ez a parancsfájl a következő sorokat sorolja fel:
- Változót állít be a helyi SQL mentési könyvtárba.
- Létrehoz egy SQL biztonsági mentést a MyDB-ről (Windows hitelesítéssel) a helyi SQL mentési könyvtárba.
- Másolja a helyi mentési fájlt egy hálózati megosztásra.
- Törli a helyi mentési fájlt.
Ismét ez az előnyben részesített módszer, mert a doboz nem működik, és a biztonsági mentés valószínűsége minimális, mivel a biztonsági mentés egy helyi lemezen jön létre. Ha azonban nincs elég lemezterülete a biztonsági másolatok helyi példányainak tárolására, akkor ez a művelet sikertelen lesz. Ebben az esetben további lemezterületet kell hozzáadnia, vagy közvetlenül a hálózati megosztáshoz.
Közvetlenül a hálózati megosztáshoz
Jellemzően, ha közvetlenül egy hálózati megosztáshoz próbál létrehozni egy biztonsági másolatot, például:
SqlCmd -E -Q “MyDB biztonsági mentési adatbázis a lemezre =" \ t
Legtöbbször valószínűleg hiba keletkezik az alábbiak szerint:
Üzenet 3201, 16. szint, 1. állapot, kiszolgáló JF, 1. sor
Nem lehet megnyitni a biztonsági mentési eszközt '19.168.16.55BackupDatabasesMyDB.bak'. Az operációs rendszer 5-ös hibája (a hozzáférés megtagadva.).
3013. szint, 16. szint, 1. állapot, kiszolgáló JF, 1. sor
A BACKUP DATABASE rendellenesen befejeződik.
Ez a hiba annak ellenére jelentkezik, hogy az SQL biztonsági mentés parancsot Windows hitelesítéssel (a -E kapcsolóval) és a Windows-fiókkal futtatta, mivel a Windows Intézőben képes hozzáférni és másolni a fájlokat a megosztáshoz.
Ennek az az oka, hogy az SQL parancs végrehajtása az SQL Server szolgáltatás futási határain belül történik. Amikor megtekintheti a Szolgáltatások listáját a számítógépen, akkor valószínűleg látni fogja, hogy az SQL Server szolgáltatás fut (mint a Log On As oszlop) vagy helyi rendszer vagy hálózati szolgáltatás, amely olyan rendszerfiók, amely nem rendelkezik hálózati hozzáféréssel.
Rendszerünkben a hálózati megosztás parancsának biztonsági mentése sikertelen, mert az SQL Server szolgáltatás helyi rendszerként fut, amely ismét nem érhető el egyetlen hálózati erőforráshoz sem..
Annak érdekében, hogy az SQL közvetlenül hozzáférjen a hálózati megosztáshoz, az SQL Server szolgáltatást helyi fiókként kell futtatnunk, amely hozzáférést biztosít a hálózati erőforrásokhoz.
Szerkessze az SQL Server szolgáltatás tulajdonságait, és a Bejelentkezési lapon konfigurálja a szolgáltatást alternatív fiókként, amely hálózati hozzáférési jogokkal rendelkezik.
Az OK gombra kattintva megjelenik egy kérés, hogy a beállítások a szolgáltatás újraindításáig nem lépnek érvénybe.
Indítsa újra a szolgáltatást.
A szolgáltatások listája most mutatja, hogy az SQL Server szolgáltatás fut, mint a beállított fiók.
Most, amikor futtatja a parancsot közvetlenül a hálózati megosztáshoz:
SqlCmd -E -Q “MyDB biztonsági mentési adatbázis a lemezre =" \ t
Sikeres üzenetet kell látnia:
152 oldalt dolgozott fel a 'MyDB' adatbázishoz, a 'MyDB' fájlt az 1-es fájlban.
2 oldalt dolgozott fel a 'MyDB' adatbázisban, a "MyDB_log" fájlt az 1-es fájlban.
A BACKUP DATABASE sikeresen feldolgozta a 154 oldalt 0,503 másodperc alatt (2.493 MB / sec).
A biztonsági mentési fájl most a hálózati megosztási könyvtárban található:
Hálózati megosztási megfontolások
Fontos megjegyezni, hogy a biztonsági mentés parancs arra számít, hogy képes lesz közvetlenül csatlakozni a hálózati megosztáshoz, anélkül, hogy a hitelesítő adatokat kérné. Az az SQL Server szolgáltatás által konfigurált fiók, amelynek megbízott kapcsolatban kell lennie a hálózati megosztással, ahol a megfelelő hitelesítő adatok hozzáférhetnek, különben előfordulhat, hogy az ilyen hiba következik be:
Üzenet 3201, 16. szint, 1. állapot, kiszolgáló JF, 1. sor
Nem lehet megnyitni a biztonsági mentési eszközt '19.168.16.55BackupDatabasesMyDB.bak'. Operációs rendszer 1326-as hiba (bejelentkezési hiba: ismeretlen felhasználói név vagy rossz jelszó)..
3013. szint, 16. szint, 1. állapot, kiszolgáló JF, 1. sor
A BACKUP DATABASE rendellenesen befejeződik.
Ez a hiba azt jelzi, hogy a fiók felhasználói nevét és jelszavát a hálózati megosztás nem fogadta el, és a parancs meghiúsult.
Egy másik probléma, amelyet szem előtt kell tartani, a biztonsági mentés közvetlenül a hálózati erőforráshoz történik, így a hálózati kapcsolat bármely csukása okozhatja a biztonsági mentés sikertelenségét. Ezért csak olyan hálózati helyekre kell biztonsági másolatot készíteni, amelyek stabilak (azaz valószínűleg nem VPN).
Biztonsági következmények
Amint azt korábban említettük, előnyben részesítjük azt a módszert, ahol helyileg másolunk, majd másolunk egy hálózati megosztásra, mivel lehetővé teszi, hogy az SQL szolgáltatást csak helyi rendszer hozzáféréssel rendelkező fiókként futtassa.
Ha a szolgáltatást alternatív fiókként futtatja, megnyitja az ajtót a lehetséges biztonsági problémákhoz. Például egy rosszindulatú SQL parancsfájl végrehajtható az alternatív fiók alatt, és megtámadhatja a hálózati erőforrásokat. Ezenkívül az adott fiók bármely változása (jelszóváltás / lejárat vagy a fiók törlése / letiltása) miatt az SQL Server szolgáltatás nem indul el.
Fontos, hogy ezeket a pontokat szem előtt tartsuk, ha az SQL Server példányt egy másik fiókkal futtatja. Bár ezek nem jelennek meg dugók, ha megfelelő óvintézkedéseket tesznek, fontolja meg további merevlemez-hely hozzáadását, majd hajtsa végre a helyi mentést és másolatot, hogy az SQL szolgáltatást helyi fiókkal futtassa.