SQL-adatbázisok biztonsági mentése azure-beli virtuális gépen az Azure CLI használatával
Az Azure CLI használatával Azure-erőforrásokat hozhat létre és kezelhet a parancssorból vagy szkripteken keresztül. Ez a cikk azt ismerteti, hogyan készíthet biztonsági másolatot egy SQL-adatbázisról az Azure-beli virtuális gépen, és hogyan indíthat igény szerinti biztonsági mentéseket az Azure CLI használatával. Ezeket a műveleteket az Azure Portalon is végrehajthatja.
Ez a cikk feltételezi, hogy már telepítve van egy SQL-adatbázis egy Azure-beli virtuális gépen. (Virtuális gépet is létrehozhat az Azure CLI használatával).
Ebből a cikkből megtudhatja, hogyan:
- Helyreállítási tár létrehozása
- SQL Server regisztrálása és adatbázis(ok) felderítése rajta
- Biztonsági mentés engedélyezése SQL-adatbázison
- Igény szerinti biztonsági mentés aktiválása
Tekintse meg az Azure-beli virtuális gépeken futó SQL jelenleg támogatott forgatókönyveit .
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Helyreállítási tár létrehozása
A Recovery Services-tároló egy logikai tároló, amely minden védett erőforrás biztonsági mentési adatait tárolja, például Azure-beli virtuális gépeken vagy Azure-beli virtuális gépeken futó számítási feladatokhoz – például SQL- vagy HANA-adatbázisokhoz. Amikor egy védett erőforrás biztonsági mentésének feladata fut, a rendszer egy helyreállítási pontot hoz létre a Recovery Services-tárolóban. Ezt követően ezen helyreállítási pontok egyikével állíthatja vissza az adatokat egy adott időpontra.
Hozzon létre egy Recovery Services-tárolót az az backup vault create paranccsal. Használja az erőforráscsoportot és a helyet a védeni kívánt virtuális géphez. Megtudhatja, hogyan hozhat létre Windows rendszerű virtuális gépet és Linux rendszerű virtuális gépet az Azure CLI használatával.
Ebben a cikkben a következőt fogjuk használni:
- SQLResourceGroup nevű erőforráscsoport
- TestSQLVM nevű virtuális gép
- Erőforrások a westus2 helyen.
Futtassa a következő parancsot egy SQLVault nevű tároló létrehozásához.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
A Recovery Services-tároló alapértelmezés szerint georedundáns tárolásra van beállítva. A georedundáns tárolás biztosítja, hogy a biztonsági mentési adatok egy másodlagos Azure-régióba replikálódjanak, még akkor is, ha az több száz kilométerre van az elsődleges régiótól. Ha módosítani kell a tároló redundanciabeállítását, használja az az backup vault backup-properties set parancsot.
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
Annak ellenőrzéséhez, hogy a tároló sikeresen létrejött-e, használja az az backup vault list parancsot. A válasz a következőképpen jelenik meg:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
Az SQL Server regisztrálása és védelme
Ha regisztrálni szeretné az SQL Servert a Recovery Services-tárolóban, használja az az backup container register parancsot. A VMResourceId annak a virtuális gépnek az erőforrás-azonosítója, amelyet az SQL telepítéséhez hozott létre.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
Feljegyzés
Ha a virtuális gép nem ugyanabban az erőforráscsoportban található, mint a tároló, az SQLResourceGroup azt az erőforráscsoportot használja, amelyben a tároló létrejött.
Az SQL Server regisztrálása automatikusan felderíti az összes jelenlegi adatbázist. A jövőben hozzáadható új adatbázisok felderítéséhez lásd a regisztrált SQL Serverhez hozzáadott új adatbázisok felfedezése című szakaszt.
Az az backup container list paranccsal ellenőrizze, hogy az SQL-példány sikeresen regisztrálva van-e a tárolóban. A válasz a következőképpen jelenik meg:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
Feljegyzés
A fenti kimenet oszlopneve a tároló nevére hivatkozik. A következő szakaszok ezt a tárolónevet használják a biztonsági mentések engedélyezéséhez és aktiválásukhoz. Például: VMAppContainer; Számlál; SQLResourceGroup; testSQLVM.
Biztonsági mentés engedélyezése az SQL-adatbázisban
Az az backup protectable-item list parancs felsorolja az előző lépésben regisztrált SQL-példányon felderített összes adatbázist.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
Ebben a listában meg kell találnia a biztonsági másolatot készíteni kívánt adatbázist, amely a következőképpen jelenik meg:
Name Protectable Item Type ParentName ServerName IsProtected
----------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;master SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;model SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;msdb SQLDataBase MSSQLServer testSQLVM NotProtected
Most konfigurálja az sqldatabase biztonsági mentését ; mssqlserver; főadatbázis .
Az adatbázisok biztonsági mentéseinek konfigurálásához és védelméhez használja az az backup protection enable-for-azurewl parancsot. Adja meg a használni kívánt szabályzat nevét. Ha parancssori felülettel szeretne szabályzatot létrehozni, használja az az backup policy create parancsot. Ebben a cikkben a testSQLPolicy szabályzatot használtuk.
az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqldatabase;mssqlserver;master" \
--protectable-item-type SQLDataBase \
--server-name testSQLVM \
--workload-type SQLDataBase \
--output table
Ugyanezt a parancsot használhatja, ha rendelkezik SQL Always On rendelkezésre állási csoportokkal , és azonosítani szeretné a rendelkezésre állási csoportban található védhető adatforrást. Itt a védhető elemtípus az SQLAG.
Annak ellenőrzéséhez, hogy a fenti biztonsági mentési konfiguráció befejeződött-e, használja az az backup feladatlista parancsot. A kimenet a következőképpen jelenik meg:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
Az az backup feladatlista parancs felsorolja az összes (ütemezett vagy igény szerinti) biztonsági mentési feladatot, amely a védett adatbázisban fut vagy éppen fut, az egyéb műveleteken kívül, például a regisztráció, a biztonsági mentés konfigurálása és a biztonsági mentési adatok törlése.
Feljegyzés
Az Azure Backup nem módosítja automatikusan a nyári időszámítás változásait egy Azure-beli virtuális gépen futó SQL-adatbázis biztonsági mentésekor.
Szükség szerint módosítsa manuálisan a szabályzatot.
Automatikus védelem engedélyezése
A zökkenőmentes biztonsági mentés konfigurálása érdekében a jövőben hozzáadott összes adatbázis automatikusan védhető egy bizonyos szabályzattal. Az automatikus védelem engedélyezéséhez használja az az backup protection auto-enable-for-azurewl parancsot.
Mivel az utasítás az összes jövőbeli adatbázis biztonsági mentése, a művelet SQLInstance szinten történik.
az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqlinstance;mssqlserver" \
--protectable-item-type SQLInstance \
--server-name testSQLVM \
--workload-type MSSQL\
--output table
Igény szerinti biztonsági mentés aktiválása
Igény szerinti biztonsági mentés indításához használja az az backup protection backup-now parancsot.
Feljegyzés
A biztonsági mentés megőrzési időtartamát a futtatott igény szerinti biztonsági mentés típusa határozza meg.
- Az igény szerinti teljes biztonsági mentés legalább 45 napig és legfeljebb 99 évig őrizhető meg.
- Az igény szerinti másolás csak a teljes megőrzési értéket fogadja el.
- Az igény szerinti különbözet megtartja a biztonsági mentést a szabályzatban beállított ütemezett különbözeti adatok megőrzésének megfelelően.
- Az igény szerinti napló megőrzi a biztonsági másolatokat a szabályzatban beállított ütemezett naplók megőrzésének megfelelően.
az backup protection backup-now --resource-group SQLResourceGroup \
--item-name sqldatabase;mssqlserver;master \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--backup-type Full
--retain-until 01-01-2040
--output table
A kimenet a következőképpen jelenik meg:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
A válasz megadja a feladat nevét. Ezzel a feladatnévvel nyomon követheti a feladat állapotát az az backup job show paranccsal.