Adatbázisok biztonsági mentése és visszaállítása az Azure SQL Edge-ben
Fontos
Az Azure SQL Edge 2025. szeptember 30-án megszűnik. További információkért és a migrálási lehetőségekért tekintse meg a kivonásról szóló közleményt.
Feljegyzés
Az Azure SQL Edge már nem támogatja az ARM64 platformot.
Az Azure SQL Edge a Microsoft SQL Database Engine legújabb verzióira épül. Hasonló biztonsági mentési és visszaállítási adatbázis-képességeket biztosít a Linuxon futó SQL Serverhez és a tárolókban futó SQL Serverhez. A biztonsági mentési és visszaállítási összetevő alapvető védelmet nyújt az Azure SQL Edge-adatbázisokban tárolt adatok védelméhez.
A katasztrofális adatvesztés kockázatának minimalizálása érdekében rendszeresen készítsen biztonsági másolatot az adatbázisokról, hogy rendszeresen megőrizze az adatok módosításait. A jól megtervezett biztonsági mentési és visszaállítási stratégia segít megvédeni az adatbázisokat a különböző hibák által okozott adatvesztéssel szemben. Tesztelje a stratégiát biztonsági másolatok egy készletének visszaállításával, majd az adatbázis helyreállításával, hogy felkészítse önt arra, hogy hatékonyan reagáljon a katasztrófákra.
Ha többet szeretne megtudni arról, hogy miért fontosak a biztonsági mentések, tekintse meg az SQL Server-adatbázisok biztonsági mentését és visszaállítását ismertető cikket.
Az Azure SQL Edge lehetővé teszi a helyi tárolók és az Azure-blobok biztonsági mentését és visszaállítását. További információkért tekintse meg az SQL Server biztonsági mentését és visszaállítását az Azure Blob Storage és az SQL Server URL-címre történő biztonsági mentésével.
Adatbázis biztonsági mentése az Azure SQL Edge-ben
Az Azure SQL Edge ugyanazokat a biztonsági mentési típusokat támogatja, mint az SQL Server. A teljes listát a Biztonsági mentés áttekintése című témakörben találja.
Fontos
Az Azure SQL Edge-ben létrehozott adatbázisok alapértelmezés szerint az egyszerű helyreállítási modellt használják. Ezért ezeken az adatbázisokon nem végezhet napló biztonsági mentéseket. Ha ezt meg kell tennie, szüksége lesz egy rendszergazdára, aki az adatbázis-helyreállítási modellt a teljes helyreállítási modellre módosítja. Az SQL Server által támogatott helyreállítási modellek teljes listájáért tekintse meg a helyreállítási modell áttekintését.
Biztonsági mentés helyi lemezre
Az alábbi példában a BACKUP DATABASE
Transact-SQL paranccsal hozhat létre adatbázis-biztonsági mentést a tárolóban. Ebben a példában egy biztonsági mentés nevű új mappát hoz létre a biztonsági mentési fájlok tárolásához.
Hozzon létre egy mappát a biztonsági másolatokhoz. Futtassa ezt a parancsot azon a gazdagépen, amelyen az Azure SQL Edge-tároló fut. Az alábbi parancsban cserélje le <> AzureSQLEdge_Container_Name az üzembe helyezésben lévő Azure SQL Edge-tároló nevére.
sudo docker exec -it <AzureSQLEdge_Container_Name> mkdir /var/opt/mssql/backup
Csatlakozzon az Azure SQL Edge-példányhoz az SQL Server Management Studio (SSMS) vagy az Azure Data Studio használatával. Futtassa a
BACKUP DATABASE
parancsot a felhasználói adatbázis biztonsági mentésének elkészítéséhez. Az alábbi példában az adatbázis biztonsági másolatátIronOreSilicaPrediction
készíti el.BACKUP DATABASE [IronOreSilicaPrediction] TO DISK = N'/var/opt/mssql/backup/IronOrePredictDB.bak' WITH NOFORMAT, NOINIT, NAME = N'IronOreSilicaPrediction-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10; GO
A parancs futtatása után, ha az adatbázis biztonsági mentése sikeres, az SSMS vagy az Azure Data Studio eredményszakaszában az alábbihoz hasonló üzeneteket fog látni.
10 percent processed. 20 percent processed. 30 percent processed. 40 percent processed. 50 percent processed. 60 percent processed. 70 percent processed. 80 percent processed. 90 percent processed. 100 percent processed. Processed 51648 pages for database 'IronOreSilicaPrediction', file 'IronOreSilicaPrediction' on file 1. Processed 2 pages for database 'IronOreSilicaPrediction', file 'IronOreSilicaPrediction_log' on file 1. BACKUP DATABASE successfully processed 51650 pages in 3.588 seconds (112.461 MB/sec). Completion time: 2020-04-09T23:54:48.4957691-07:00
Biztonsági mentés az URL-címre
Az Azure SQL Edge támogatja a lapblobok és a blokkblobok biztonsági mentését is. További információ: Biztonsági mentés a blob és a lapblob letiltásához. Az alábbi példában az adatbázisról IronOreSilicaPrediction
biztonsági másolatot készítünk egy blokkblobról.
A blobok blokkolására vonatkozó biztonsági másolatok konfigurálásához először hozzon létre egy közös hozzáférésű jogosultságkód (SAS) jogkivonatot, amellyel SQL Server-hitelesítő adatokat hozhat létre az Azure SQL Edge-en. A szkript létrehoz egy SAS-t, amely egy tárolt hozzáférési szabályzathoz van társítva. További információ: Megosztott hozzáférésű jogosultságkódok, 1. rész: Az SAS-modell ismertetése. A szkript a hitelesítő adatok SQL Serveren való létrehozásához szükséges T-SQL-parancsot is megírja. Az alábbi szkript feltételezi, hogy már rendelkezik egy Azure-előfizetéssel egy tárfiókkal és egy tárolóval a biztonsági mentésekhez.
# Define global variables for the script $subscriptionName='<your subscription name>' # the name of subscription name you will use $resourcegroupName = '<your resource group name>' # the name of resource group you will use $storageAccountName= '<your storage account name>' # the storage account name you will use for backups $containerName= '<your storage container name>' # the storage container name to which you will attach the SAS policy with its SAS token $policyName = 'SASPolicy' # the name of the SAS policy # adds an authenticated Azure account for use in the session Login-AzAccount # set the tenant, subscription and environment for use in the rest of Select-AzSubscription -Subscription $subscriptionName # Generate the SAS token $sa = Get-AzStorageAccount -ResourceGroupName $resourcegroupName -Name $storageAccountName $storagekey = Get-AzStorageAccountKey -ResourceGroupName $resourcegroupName -Name $storageAccountName $storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storagekey[0].Value $cbc = Get-AzStorageContainer -Name $containerName -Context $storageContext $policy = New-AzStorageContainerStoredAccessPolicy -Container $containerName -Policy $policyName -Context $storageContext -ExpiryTime $(Get-Date).ToUniversalTime().AddYears(10) -Permission "rwld" $sas = New-AzStorageContainerSASToken -Policy $policyName -Context $storageContext -Container $containerName Write-Host 'Shared Access Signature= '$($sas.Substring(1))'' # Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature Write-Host 'Credential T-SQL' $tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.CloudBlobContainer.Uri.AbsoluteUri,$sas.Substring(1) $tSql | clip Write-Host $tSql
A szkript sikeres futtatása után másolja a
CREATE CREDENTIAL
parancsot egy lekérdezési eszközre. Ezután csatlakozzon az SQL Server egy példányához, és futtassa a parancsot a hitelesítő adatok sassal való létrehozásához.Csatlakozzon az Azure SQL Edge-példányhoz az SSMS vagy az Azure Data Studio használatával, és hozza létre a hitelesítő adatokat az előző lépés parancsával. Mindenképpen cserélje le a
CREATE CREDENTIAL
parancsot az előző lépés tényleges kimenetére.IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';
Az alábbi parancs biztonsági másolatot készít az
IronOreSilicaPrediction
Azure Storage-tárolóról.BACKUP DATABASE IronOreSilicaPrediction TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/IronOreSilicaPrediction.bak' With MAXTRANSFERSIZE = 4194304,BLOCKSIZE=65536; GO
Adatbázis visszaállítása az Azure SQL Edge-ben
Az Azure SQL Edge-ben helyi lemezről, hálózati helyről vagy Azure Blob Storage-fiókból állíthatja vissza a visszaállítást. Az SQL Serveren történő visszaállítással és helyreállítással kapcsolatos további információkért tekintse meg a visszaállítás és helyreállítás áttekintését. Az SQL Server egyszerű helyreállítási modelljének áttekintéséért lásd : Teljes adatbázis-visszaállítás (egyszerű helyreállítási modell).
Fontos
Az Azure SQL Edge-ben létrehozott adatbázisok nem állíthatók vissza a Microsoft SQL Server vagy az Azure SQL egy példányán. Ezenkívül a Microsoft SQL Serveren vagy az Azure SQL-en létrehozott adatbázis visszaállítható az Azure SQL Edge-en, feltéve, hogy az adatbázis nem tartalmazza az Azure SQL Edge által nem támogatott funkciókat.
Visszaállítás helyi lemezről
Ez a példa az IronOreSilicaPrediction
előző példában készített biztonsági másolatot használja. Most egy másik nevű új adatbázisként fogja visszaállítani.
Ha az adatbázis biztonsági mentési fájlja még nem található meg a tárolóban, a következő paranccsal másolhatja a fájlt a tárolóba. Az alábbi példa feltételezi, hogy a biztonsági mentési fájl a helyi gazdagépen található, és a /var/opt/mssql/backup mappába lesz másolva egy SQL1 nevű Azure SQL Edge-tárolóba.
sudo docker cp IronOrePredictDB.bak sql1:/var/opt/mssql/backup
Csatlakozzon az Azure SQL Edge-példányhoz az SSMS vagy az Azure Data Studio használatával a visszaállítási parancs futtatásához. Az alábbi példában
IronOrePredictDB.bak
a rendszer visszaállítja egy új adatbázis létrehozásához.IronOreSilicaPrediction_2
Restore FilelistOnly from disk = N'/var/opt/mssql/backup/IronOrePredictDB.bak' Restore Database IronOreSilicaPrediction_2 From disk = N'/var/opt/mssql/backup/IronOrePredictDB.bak' WITH MOVE 'IronOreSilicaPrediction' TO '/var/opt/mssql/data/IronOreSilicaPrediction_Primary_2.mdf', MOVE 'IronOreSilicaPrediction_log' TO '/var/opt/mssql/data/IronOreSilicaPrediction_Primary_2.ldf';
A visszaállítási parancs futtatása után, ha a visszaállítási művelet sikeres volt, a kimeneti ablakban az alábbihoz hasonló üzenetek fognak megjelenni.
Processed 51648 pages for database 'IronOreSilicaPrediction_2', file 'IronOreSilicaPrediction' on file 1. Processed 2 pages for database 'IronOreSilicaPrediction_2', file 'IronOreSilicaPrediction_log' on file 1. RESTORE DATABASE successfully processed 51650 pages in 6.543 seconds (61.670 MB/sec). Completion time: 2020-04-13T23:49:21.1600986-07:00
Visszaállítás URL-címről
Az Azure SQL Edge támogatja az adatbázisok Azure Storage-fiókból való visszaállítását is. A blokkblobokból vagy a lapblobok biztonsági mentéséből is visszaállíthatja a visszaállítást. Az alábbi példában a IronOreSilicaPrediction_2020_04_16.bak
blokkblob adatbázis-biztonsági mentési fájlja visszaállítva az adatbázis létrehozásához. IronOreSilicaPrediction_3
RESTORE DATABASE IronOreSilicaPrediction_3
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/IronOreSilicaPrediction_2020_04_16.bak'
WITH MOVE 'IronOreSilicaPrediction' TO '/var/opt/mssql/data/IronOreSilicaPrediction_Primary_3.mdf',
MOVE 'IronOreSilicaPrediction_log' TO '/var/opt/mssql/data/IronOreSilicaPrediction_Primary_3.ldf',
STATS = 10;