Az SQL adatbázisok biztonsági mentése hálózati megosztásra

Tartalomjegyzék:

Az SQL adatbázisok biztonsági mentése hálózati megosztásra
Az SQL adatbázisok biztonsági mentése hálózati megosztásra

Videó: Az SQL adatbázisok biztonsági mentése hálózati megosztásra

Videó: Az SQL adatbázisok biztonsági mentése hálózati megosztásra
Videó: Import MP3 File to iTunes on PC (Issue Fix) - YouTube 2024, Lehet
Anonim

Az SQL adatbázisok rendszeres biztonsági mentése kötelező. Már lefedtük azokat a módszereket, amelyek segítségével könnyen menthetjük az összes SQL szerver adatbázisát egy helyi merevlemezre, de ez nem védi a meghajtót és / vagy a rendszer meghibásodását. Az ilyen jellegű katasztrófák elleni védelem extra rétegeként biztonsági másolatokat készíthet vagy közvetlenül létrehozhat hálózati megosztásban.

Helyi mentés, majd másolás a hálózati megosztásra

A feladat végrehajtásához a legelőnyösebb és legközvetlenebb mód az egyszerű adatbázis helyi biztonsági másolatának létrehozása, majd a megfelelő biztonsági másolat fájl hálózati megosztásra való másolása. Ezt úgy teheti meg, ha olyan kötegelt szkriptet hoz létre, amely így néz ki:

SET LocalFolder=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup SqlCmd -E -Q “Backup Database MyDB To Disk=’%LocalFolder%MyDB.bak'” XCopy “%LocalFolder%MyDB.bak” “192.168.16.55BackupDatabases” /Z /V DEL “%LocalFolder%MyDB.bak”

Ez a szkript a következőket teszi (sorban):

  1. A változót a helyi SQL mentési könyvtárba állítja be.
  2. A MyDB (a Windows hitelesítés használatával) SQL biztonsági mentést hoz létre a helyi SQL mentési könyvtárba.

  3. Másolja a helyi biztonsági másolatot egy hálózati megosztásra.
  4. Törli a helyi biztonsági másolatot.

Ismét ez az előnyös módszer, mert a dobozból működik, és a biztonsági mentés kudarca minimális, mivel a biztonsági másolatot helyi lemezen hozták létre. Ha azonban nincs elegendő lemezterület a biztonsági másolatok helyi példányainak tárolásához, ez a művelet sikertelen lesz. Ebben az esetben további lemezterületet vagy biztonsági mentést kell hozzáadnia közvetlenül egy hálózati megosztáshoz.

Biztonsági mentés közvetlenül egy hálózati megosztáshoz

Általában ha egy biztonsági másolatot közvetlenül egy hálózati megosztásra próbál létrehozni, például:

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

Legtöbbször hiba lép fel a következő sorrendben:

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 5(Access is denied.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

Ez a hiba annak ellenére jelentkezik, hogy az SQL mentési parancsot a Windows hitelesítés (az -E kapcsoló) és a Windows-fiók használatával futtatta le a Windows Intézőben a fájlok eléréséhez és másolásához.

Ennek a műveletnek az oka, hogy az SQL parancs végrehajtása az SQL Server szolgáltatás futó fiókjának határain belül történik. Amikor a Services listát a számítógépén tekintheti meg, akkor valószínűleg az SQL Server szolgáltatás (helyi bejelentkezésként oszlopként) jelenik meg, vagy olyan helyi rendszer vagy hálózati szolgáltatás, amely olyan rendszerfiók, amely nem rendelkezik hálózati hozzáféréssel.
Ennek a műveletnek az oka, hogy az SQL parancs végrehajtása az SQL Server szolgáltatás futó fiókjának határain belül történik. Amikor a Services listát a számítógépén tekintheti meg, akkor valószínűleg az SQL Server szolgáltatás (helyi bejelentkezésként oszlopként) jelenik meg, vagy olyan helyi rendszer vagy hálózati szolgáltatás, amely olyan rendszerfiók, amely nem rendelkezik hálózati hozzáféréssel.

A rendszerünkben a hálózati megosztási parancs biztonsági mentése sikertelen, mivel az SQL Server szolgáltatás helyi rendszerként fut, ami viszont nem képes hálózati erőforrásokhoz jutni.

Annak érdekében, hogy az SQL közvetlenül mentse a hálózati megosztást, az SQL Server szolgáltatást helyi fiókként kell futtatnunk, amely hozzáféréssel rendelkezik a hálózati erőforrásokhoz.
Annak érdekében, hogy az SQL közvetlenül mentse a hálózati megosztást, az SQL Server szolgáltatást helyi fiókként kell futtatnunk, amely hozzáféréssel rendelkezik a hálózati erőforrásokhoz.

Az SQL Server szolgáltatás tulajdonságainak szerkesztése és a Bejelentkezési lapon állítsa be a szolgáltatást úgy, hogy alternatív fiókként fusson hálózati hozzáférési jogokkal.

Amikor az OK gombra kattint, megjelenik egy prompt, hogy a beállítások csak a szolgáltatás újraindításáig érvényesek lesznek.
Amikor az OK gombra kattint, megjelenik egy prompt, hogy a beállítások csak a szolgáltatás újraindításáig érvényesek lesznek.
Indítsa újra a szolgáltatást.
Indítsa újra a szolgáltatást.
A szolgáltatások listájának most meg kell jelennie, hogy az SQL Server szolgáltatás a beállított fiókként fut.
A szolgáltatások listájának most meg kell jelennie, hogy az SQL Server szolgáltatás a beállított fiókként fut.
Image
Image

Most, amikor a parancsot közvetlenül hálózati megosztásra futtatja:

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

Egy sikeres üzenetet kell látnia:

Processed 152 pages for database ‘MyDB’, file ‘MyDB’ on file 1. Processed 2 pages for database ‘MyDB’, file ‘MyDB_log’ on file 1. BACKUP DATABASE successfully processed 154 pages in 0.503 seconds (2.493 MB/sec).

A tartalékfájl most a hálózati megosztási könyvtárban található:

Image
Image

Hálózati megosztási szempontok

Fontos megjegyezni, hogy a biztonsági parancs elvárja, hogy képes legyen közvetlenül csatlakozni a hálózati megosztáshoz anélkül, hogy kéri a hitelesítő adatokat. Az SQL Server szolgáltatás futtatásához konfigurált fióknak megbízható kapcsolat kell lennie a hálózati megosztással, ahol a megfelelő hitelesítő adatok hozzáférést engedélyeznek, különben ilyen hiba léphet fel:

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 1326(Logon failure: unknown user name or bad password.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

Ez a hiba azt jelzi, hogy a hálózati megosztás nem fogadta el a fiók felhasználói nevét és jelszavát, és a parancs sikertelen.

Egy másik kérdés, hogy tartsa szem előtt, hogy a biztonsági mentés közvetlenül történik a hálózati erőforrás, így a csalások a hálózati kapcsolat okozhat a biztonsági mentés sikertelen. Emiatt csak akkor kell biztonsági másolatot készíteni a stabil helyekre (azaz valószínűleg nem VPN-re).

Biztonsági következmények

Amint korábban említettük, az a módszer használata, ahol helyileg mentettünk, majd másoltunk egy hálózati megosztásra, mivel ez lehetővé teszi az SQL szolgáltatás futtatását csak rendszergazdai hozzáféréssel rendelkező fiókként.

Ha a szolgáltatást másodlagos fiókként futtatja, megnyitja az ajtót a lehetséges biztonsági problémákhoz. Például egy rosszindulatú SQL parancsfájl futtatható az alternatív fiók alatt, és megtámadhatja a hálózati erőforrásokat. Ezenkívül a megfelelő fiók módosításai (jelszóváltások / lejáratok, illetve 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 tartva futtassa az SQL Server példányát egy másik fiókkal. Bár ezek nem mutatják a dugókat, ha megfelelő óvintézkedéseket tesznek, érdemes megfontolni további merevlemez-területek hozzáadását, majd végrehajtani a helyi biztonsági mentést és másolást, hogy az SQL szolgáltatást helyi számlával futtathassa.

Ajánlott: