Megosztás a következőn keresztül:


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.

  1. 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
    
  2. 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át IronOreSilicaPrediction 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
    
  3. 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.

  1. 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.

  2. 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>';
    
  3. 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.

  1. 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
    
  2. 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';
    
  3. 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;