Sürekli yedekleme modunu kullanan bir Azure Cosmos DB hesabını geri yükleme

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Gremlin Tablo

Azure Cosmos DB'nin belirli bir noktaya geri yükleme özelliği, bir kapsayıcı içinde yanlışlıkla yapılan bir değişiklikten kurtarmanıza, silinen bir hesabı, veritabanını veya kapsayıcıyı geri yüklemenize veya herhangi bir bölgeye (yedeklemelerin bulunduğu) geri yüklemenize yardımcı olur. Sürekli yedekleme modu son 30 gün içindeki herhangi bir noktaya geri yükleme işlemi yapmanızı sağlar.

Bu makalede geri yükleme zamanını belirleme ve canlı veya silinmiş bir Azure Cosmos DB hesabını geri yükleme işlemi açıklanır. Azure portalı, PowerShell, CLI veya Azure Resource Manager şablonu kullanarak hesabın nasıl geri yükleneceği gösterilir.

Azure portalını kullanarak hesabı geri yükleme

Canlı hesabı yanlışlıkla yapılan değişikliklerden geri yükleme

Azure portalını kullanarak canlı hesabın tamamını veya altındaki seçili veritabanlarını ve kapsayıcıları geri yükleyebilirsiniz. Verilerinizi geri yüklemek için aşağıdaki adımları kullanın:

  1. Azure Portal’ında oturum açın.

  2. Azure Cosmos DB hesabınıza gidin ve Belirli Bir Noktaya Geri Yükleme dikey penceresini açın.

    Not

    Azure portalındaki geri yükleme dikey penceresi yalnızca izniniz varsa Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read doldurulur. Bu izni ayarlama hakkında daha fazla bilgi edinmek için Yedekleme ve geri yükleme izinleri makalesine bakın.

  3. Geri yüklemek için aşağıdaki ayrıntıları doldurun:

    • Geri Yükleme Noktası (UTC) – Son 30 gün içindeki bir zaman damgası. Hesap bu zaman damgasında mevcut olmalıdır. Geri yükleme noktasını UTC olarak belirtebilirsiniz. Geri yüklemek istediğinizde saniyeye yakın olabilir. Geri yükleme noktasını tanımlama konusunda yardım almak için Buraya tıklayın bağlantısını seçin.

    • Konum : Hesabın geri yüklendiği hedef bölge. Hesap, belirtilen zaman damgasında (örneğin, Batı ABD veya Doğu ABD) bu bölgede bulunmalıdır. Bir hesap yalnızca kaynak hesabın bulunduğu bölgelere geri yüklenebilir.

    • Kaynağı Geri Yükle – Geri yüklemek için Tüm hesap'ı veya seçili bir veritabanını/kapsayıcıyı seçebilirsiniz. Veritabanları ve kapsayıcılar verilen zaman damgasında bulunmalıdır. Geri yükleme noktasına ve seçilen konuma bağlı olarak, geri yükleme kaynakları doldurulur ve bu da kullanıcının geri yüklenmesi gereken belirli veritabanlarını veya kapsayıcıları seçmesine olanak tanır.

    • Kaynak grubu - Hedef hesabın oluşturulacağı ve geri yükleneceği kaynak grubu. Kaynak grubu zaten var olmalıdır.

    • Hedef Hesabı Geri Yükle – Hedef hesap adı. Hedef hesap adının, yeni bir hesap oluştururken izlediğiniz yönergelerin aynısını izlemesi gerekir. Bu hesap, kaynak hesabınızın bulunduğu bölgede geri yükleme işlemi tarafından oluşturulur.

    Azure portalında yanlışlıkla yapılan değişikliklerden canlı bir hesabı geri yükleyin.

  4. Yukarıdaki parametreleri seçtikten sonra, geri yüklemeyi başlatmak için Gönder düğmesini seçin. Geri yükleme maliyeti, verilerin boyutuna ve seçilen bölgedeki yedekleme depolama alanının maliyetine bağlı olarak tek seferlik bir ücrettir. Daha fazla bilgi edinmek için Fiyatlandırma bölümüne bakın.

Geri yükleme devam ederken kaynak hesabın silinmesi geri yüklemenin başarısız olmasına neden olabilir.

Canlı hesaplar için geri yüklenebilen zaman damgası

Silinmeyen Azure Cosmos DB canlı hesaplarını geri yüklemek için kapsayıcı için her zaman en son geri yüklenebilir zaman damgasını belirlemek en iyi yöntemdir. Daha sonra hesabı en son sürümüne geri yüklemek için bu zaman damgasını kullanabilirsiniz.

Geri yükleme süresini belirlemek için olay akışını kullanma

Azure portalında geri yükleme noktası süresini doldururken, geri yükleme noktasını tanımlama konusunda yardıma ihtiyacınız varsa Buraya tıklayın bağlantısını seçin, sizi olay akışı dikey penceresine götürür. Olay akışı, kaynak hesabın veritabanları ve kapsayıcılarında oluşturma, değiştirme, silme olaylarının tam uygunluk listesini sağlar.

Örneğin, belirli bir kapsayıcı silinmeden veya güncelleştirilmeden önceki noktaya geri yüklemek istiyorsanız bu olay akışını denetleyin. Olaylar, son olaylar en üstte olacak şekilde kronolojik olarak, oluştukları zamanın azalan sırasına göre görüntülenir. Zamanınızı daha da daraltmak için sonuçlara göz atabilir ve etkinlikten önceki veya sonraki süreyi seçebilirsiniz.

Geri yükleme noktası saatini belirlemek için olay akışını kullanın.

Not

Olay akışı, öğe kaynaklarındaki değişiklikleri görüntülemez. Geri yükleme için her zaman son 30 gün içinde (hesap mevcut olduğu sürece) herhangi bir zaman damgasını el ile belirtebilirsiniz.

Silinen hesabı geri yükleme

Silinen bir hesabı silindikten sonra 30 gün içinde tamamen geri yüklemek için Azure portalını kullanabilirsiniz. Silinen bir hesabı geri yüklemek için aşağıdaki adımları kullanın:

  1. Azure Portal’ında oturum açın.

  2. Genel arama çubuğunda Azure Cosmos DB kaynaklarını arayın. Tüm mevcut hesaplarınızı listeler.

  3. Ardından Geri Yükle düğmesini seçin. Geri Yükle dikey penceresinde, silinme tarihinden itibaren 30 gün olan saklama süresi içinde geri yüklenebilen silinmiş hesapların listesi görüntülenir.

  4. Geri yüklemek istediğiniz hesabı seçin.

    Silinen bir hesabı Azure portalından geri yükleyin.

    Not

    Azure portalındaki geri yükleme dikey penceresi yalnızca izniniz varsa Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read doldurulur. Bu izni ayarlama hakkında daha fazla bilgi edinmek için Yedekleme ve geri yükleme izinleri makalesine bakın.

  5. Geri yükleneceği hesabı seçin ve silinen hesabı geri yüklemek için aşağıdaki ayrıntıları girin:

    • Geri Yükleme Noktası (UTC) – Son 30 gün içindeki bir zaman damgası. Hesabın bu zaman damgasında mevcut olması gerekir. Geri yükleme noktasını UTC olarak belirtin. Geri yüklemek istediğinizde saniyeye yakın olabilir.

    • Konum : Hesabın geri yüklenmesi gereken hedef bölge. Kaynak hesabın belirtilen zaman damgasında bu bölgede bulunması gerekir. Örnek Batı ABD veya Doğu ABD.

    • Kaynak grubu - Hedef hesabın oluşturulacağı ve geri yükleneceği kaynak grubu. Kaynak grubu zaten var olmalıdır.

    • Hedef Hesabı Geri Yükle – Hedef hesap adının, yeni bir hesap oluştururken kullandığınız yönergeleri izlemesi gerekir. Bu hesap, kaynak hesabınızın bulunduğu bölgede geri yükleme işlemi tarafından oluşturulur.

Geri yükleme işleminin durumunu izleme

Geri yükleme işlemini başlatdıktan sonra portalın sağ üst köşesindeki Bildirim zili simgesini seçin. Geri yüklenen hesabın durumunu gösteren bir bağlantı verir. Geri yükleme işlemi devam ederken hesabın durumu Oluşturuluyor olur, geri yükleme işlemi tamamlandıktan sonra hesap durumu Çevrimiçi olarak değişir.

İşlem tamamlandığında, geri yüklenen hesabın durumu oluşturmadan çevrimiçi duruma geçer.

Geri yüklenen hesaptan geri yükleme ayrıntılarını alma

Geri yükleme işlemi tamamlandıktan sonra, geri yüklediğiniz kaynak hesabın ayrıntılarını veya geri yükleme süresini bilmek isteyebilirsiniz.

Azure portalından geri yükleme ayrıntılarını almak için aşağıdaki adımları kullanın:

  1. Azure portalında oturum açın ve geri yüklenen hesaba gidin.

  2. Şablonu dışarı aktar bölmesine gidin. Geri yüklenen hesaba karşılık gelen bir JSON şablonu açar.

Azure PowerShell kullanarak hesabı geri yükleme

Hesabı geri yüklemeden önce Azure PowerShell'in en son sürümünü veya 9.6.0'dan sonraki bir sürümü yükleyin. Ardından Azure hesabınıza bağlanın ve aşağıdaki komutlarla gerekli aboneliği seçin:

  1. Aşağıdaki komutu kullanarak Azure'da oturum açın:

    Connect-AzAccount
    
  2. Aşağıdaki komutla belirli bir aboneliği seçin:

    Select-AzSubscription -Subscription <SubscriptionName>
    

NoSQL hesabı için API için geri yükleme işlemini tetikleme

Aşağıdaki cmdlet, hedef hesap, kaynak hesap, konum, kaynak grubu, PublicNetworkAccess, DisableTtl ve zaman damgasını kullanarak geri yükleme komutuyla geri yükleme işlemini tetikleme örneğidir:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "RestoredAccountName" `
  -SourceDatabaseAccountName "SourceDatabaseAccountName" `
  -RestoreTimestampInUtc "UTCTime" `
  -Location "AzureRegionName" ` 
  -PublicNetworkAccess Disabled `
  -DisableTtl $true

Örnek 1: Hesabın tamamını geri yükleme:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "source-sql" `
  -RestoreTimestampInUtc "2021-01-05T22:06:00" `
  -Location "West US" `
  -PublicNetworkAccess Disabled
  -DisableTtl $false


Ayarlanmadıysa PublicNetworkAccess , geri yüklenen hesaba genel ağdan erişilebilir, lütfen geri yüklenen hesap için genel ağ erişimini devre dışı bırakma seçeneğine geçtiğinizden DisabledPublicNetworkAccess emin olun. DisableTtl'in $true olarak ayarlanması, geri yüklenen hesapta TTL'nin devre dışı bırakılmasını sağlar, parametre sağlamaz, daha önce ayarlanmışsa TTL etkin hesabı geri yükler.

Not

Genel ağ erişimi devre dışı bırakılmış olarak geri yükleme için Az.CosmosDB'nin gereken en düşük kararlı sürümü 1.12.0'dır.

Örnek 2: Belirli koleksiyonları ve veritabanlarını geri yükleme. Bu örnek MyCol1, MyCol2 koleksiyonlarını MyDB1'den ve altındaki tüm kapsayıcıları içeren MyDB2 veritabanının tamamını geri yükler.

$datatabaseToRestore1 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB1" -CollectionName "MyCol1", "MyCol2"
$datatabaseToRestore2 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB2"

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceSql" `
  -RestoreTimestampInUtc "2021-01-05T22:06:00" `
  -DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
  -Location "West US"

Örnek 3: Gremlin Hesabı için API geri yükleme. Bu örnek graf1, MyDB1'den graph2 ve altındaki tüm kapsayıcıları içeren MyDB2 veritabanının tamamını geri yükler.

$datatabaseToRestore1 = New-AzCosmosDBGremlinDatabaseToRestore  -DatabaseName "MyDB1" -GraphName "graph1", "graph2"  
$datatabaseToRestore2 = New-AzCosmosDBGremlinDatabaseToRestore  -DatabaseName "MyDB2"

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceGremlin" `
  -RestoreTimestampInUtc "2022-04-05T22:06:00" `
  -DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
  -Location "West US"

Örnek 4: Tablo Hesabı için API'yi geri yükleme. Bu örnek tablo1, tablo1 tablolarını MyDB1'dengeri yükler

$tablesToRestore  = New-AzCosmosDBTableToRestore -TableName "table1", "table2"  

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceTable" `
  -RestoreTimestampInUtc "2022-04-06T22:06:00" `
  -TablesToRestore $tablesToRestore ` 
  -Location "West US"

CLI kullanarak yönetilen kimlikle yapılandırılmış sürekli bir hesabı geri yüklemek için

Müşteri Tarafından Yönetilen Anahtar (CMK) sürekli hesabını geri yüklemek için lütfen burada sağlanan adımlara bakın

Geri yüklenen hesaptan geri yükleme ayrıntılarını alma

Az.CosmosDB Modül 1.12.0 sürümünü içeri aktarın ve geri yükleme ayrıntılarını almak için aşağıdaki komutu çalıştırın. restoreTimestamp, restoreParameters nesnesinin altında olacaktır:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

NoSQL için API için geri yüklenebilen kaynakları listeleme

Numaralandırma cmdlet'leri, çeşitli zaman damgalarında geri yükleme için kullanılabilen kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve kapsayıcı kaynaklarında önemli olayların akışını da sağlar.

Geçerli abonelikte geri yüklenebilen tüm hesapları listeleme

Geçerli abonelikte Get-AzCosmosDBRestorableDatabaseAccount geri yüklenebilen tüm hesapları listelemek için PowerShell komutunu çalıştırın.

Yanıt, geri yüklenebilen tüm veritabanı hesaplarını (hem canlı hem de silinmiş) ve bunların geri yüklenebileceği bölgeleri içerir.

{
    "accountName": "SampleAccount",
    "apiType": "Sql",
    "creationTime": "2020-08-08T01:04:52.070190+00:00",
    "deletionTime": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995",
    "identity": null,
    "location": "West US",
    "name": "23e99a35-cd36-4df4-9614-f767a03b9995",
    "restorableLocations": [
      {
        "creationTime": "2020-08-08T01:04:52.945185+00:00",
        "deletionTime": null,
        "location": "West US",
        "regionalDatabaseAccountInstanceId": "30701557-ecf8-43ce-8810-2c8be01dccf9"
      },
      {
        "creationTime": "2020-08-08T01:15:43.507795+00:00",
        "deletionTime": null,
        "location": "East US",
        "regionalDatabaseAccountInstanceId": "8283b088-b67d-4975-bfbe-0705e3e7a599"
      }
    ],
    "tags": null,
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
  }

CreationTime Hesap için veya DeletionTime gibi, bölge için de bir CreationTime veya DeletionTime vardır. Bu saatler, bu bölgeye geri yüklemek için doğru bölgeyi ve geçerli bir zaman aralığını seçmenize olanak sağlar.

Canlı veritabanı hesabında SQL veritabanlarının tüm sürümlerini listeleme

Veritabanlarının tüm sürümlerini listelemek, veritabanının gerçek var olma zamanının bilinmediği bir senaryoda doğru veritabanını seçmenize olanak tanır.

Veritabanlarının tüm sürümlerini listelemek için aşağıdaki PowerShell komutunu çalıştırın. Bu komut yalnızca canlı hesaplarla çalışır. DatabaseAccountInstanceId ve Location parametreleri cmdlet'in Get-AzCosmosDBRestorableDatabaseAccount yanıtında ve location özelliklerinden alınırname. özniteliği, DatabaseAccountInstanceId geri yüklenen kaynak veritabanı hesabının özelliğini ifade eder instanceId :


Get-AzCosmosdbSqlRestorableDatabase `
  -Location "East US" `
  -DatabaseAccountInstanceId <DatabaseAccountInstanceId>

Canlı veritabanı hesabındaki bir veritabanının SQL kapsayıcılarının tüm sürümlerini listeleme

SQL kapsayıcılarının tüm sürümlerini listelemek için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır. DatabaseRId parametresi, geri yüklemek istediğiniz veritabanının parametresidirResourceId. Cmdlet'in ownerResourceid yanıtında bulunan özniteliğin değeridir Get-AzCosmosdbSqlRestorableDatabase . Yanıt, bu veritabanı içindeki tüm kapsayıcılarda gerçekleştirilen işlemlerin listesini de içerir.


Get-AzCosmosdbSqlRestorableContainer `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Belirli bir zaman damgasında geri yüklenebilen veritabanlarını veya kapsayıcıları bulma

Belirli bir zaman damgasında geri yüklenebilen veritabanlarının veya kapsayıcıların listesini almak için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır.


Get-AzCosmosdbSqlRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "East US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

MongoDB için API'de geri yüklenebilen kaynakları listeleme

Aşağıda açıklanan numaralandırma komutları, çeşitli zaman damgalarında geri yükleme için kullanılabilecek kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve kapsayıcı kaynaklarında önemli olayların akışını da sağlar. Bu komutlar yalnızca canlı hesaplarda çalışır ve NoSQL komutları için API'ye benzer ancak yerine komut adında sqlile bulunurMongoDB.

Canlı veritabanı hesabında MongoDB veritabanlarının tüm sürümlerini listeleme


Get-AzCosmosdbMongoDBRestorableDatabase `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US"

Canlı veritabanı hesabındaki bir veritabanının MongoDB koleksiyonlarının tüm sürümlerini listeleme


Get-AzCosmosdbMongoDBRestorableCollection `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Belirli bir zaman damgasında ve bölgede geri yüklenebilen mongoDB veritabanı hesabının tüm kaynaklarını listeleme


Get-AzCosmosdbMongoDBRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "West US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

Gremlin için API için geri yüklenebilen kaynakları listeleme

Numaralandırma cmdlet'leri, çeşitli zaman damgalarında geri yükleme için kullanılabilen kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve grafik kaynaklarında önemli olayların akışını da sağlar.

Canlı veritabanı hesabında Gremlin veritabanlarının tüm sürümlerini listeleme

Veritabanlarının tüm sürümlerini listelemek, veritabanının gerçek var olma zamanının bilinmediği bir senaryoda doğru veritabanını seçmenize olanak tanır. Veritabanlarının tüm sürümlerini listelemek için aşağıdaki PowerShell komutunu çalıştırın. Bu komut yalnızca canlı hesaplarla çalışır. DatabaseAccountInstanceId ve Location parametreleri cmdlet'in Get-AzCosmosDBRestorableDatabaseAccount yanıtında ve location özelliklerinden alınırname. özniteliği, DatabaseAccountInstanceId geri yüklenen kaynak veritabanı hesabının özelliğini ifade eder instanceId :

Get-AzCosmosdbGremlinRestorableDatabase ` 
   -Location "East US" ` 
   -DatabaseAccountInstanceId <DatabaseAccountInstanceId> 

Canlı veritabanı hesabındaki bir veritabanının gremlin grafiklerinin tüm sürümlerini listeleme

Gremlin grafları için API'nin tüm sürümlerini listelemek için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır. DatabaseRId parametresi, geri yüklemek istediğiniz veritabanının parametresidirResourceId. Cmdlet'in ownerResourceid yanıtında bulunan özniteliğin değeridir Get-AzCosmosdbGremlinRestorableDatabase . Yanıt, bu veritabanı içindeki tüm grafiklerde gerçekleştirilen işlemlerin listesini de içerir.

Get-AzCosmosdbGremlinRestorableGraph ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -DatabaseRId "AoQ13r==" ` 
   -Location "West US" 

Belirli bir zaman damgasında geri yüklenebilen veritabanlarını veya grafikleri bulma

Belirli bir zaman damgasında geri yüklenebilen veritabanlarının veya grafiklerin listesini almak için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır.

Get-AzCosmosdbGremlinRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Tablo için API için geri yüklenebilen kaynakları listeleme

Numaralandırma cmdlet'leri, çeşitli zaman damgalarında geri yükleme için kullanılabilen kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap ve tablo kaynakları üzerinde önemli olayların akışını da sağlar.

Canlı veritabanı hesabındaki bir veritabanının tablolarının tüm sürümlerini listeleme

Tabloların tüm sürümlerini listelemek için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır.

Get-AzCosmosdbTableRestorableTable ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68"   ` 
   -Location "West US" 

Belirli bir zaman damgasında geri yüklenebilen tabloları bulma

Belirli bir zaman damgasında geri yüklenebilen tabloların listesini almak için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır.

Get-AzCosmosdbTableRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Azure CLI kullanarak hesabı geri yükleme

Hesabı geri yüklemeden önce aşağıdaki adımlarla Azure CLI'yı yükleyin:

  1. Azure CLI'nın en son sürümünü yükleme

    • Azure CLI'nın en son sürümünü veya 2.52.0'dan sonraki bir sürümü yükleyin.
    • CLI'yi zaten yüklediyseniz komutunu çalıştırarak az upgrade en son sürüme güncelleştirin. Bu komut yalnızca 2.52.0'dan yüksek CLI sürümüyle çalışır. Önceki bir sürümünüz varsa, en son sürümü yüklemek için yukarıdaki bağlantıyı kullanın.
  2. Oturum açın ve aboneliğinizi seçin

    • Komutuyla az login Azure hesabınızda oturum açın.
    • komutunu kullanarak az account set -s <subscriptionguid> gerekli aboneliği seçin.

Azure CLI ile geri yükleme işlemini tetikleme

Geri yüklemeyi tetiklemenin en basit yolu, geri yükleme komutunu hedef hesap, kaynak hesabı, konum, kaynak grubu, zaman damgası (UTC'de) ve isteğe bağlı olarak veritabanı ve kapsayıcı adları ile vermektir. Geri yükleme işlemini tetikleme örnekleri aşağıda verilmiştir:

Mevcut bir hesaptan geri yükleyerek yeni bir Azure Cosmos DB hesabı oluşturma


az cosmosdb restore \
 --target-database-account-name <MyRestoredCosmosDBDatabaseAccount> \
 --account-name <MySourceAccount> \
 --restore-timestamp 2020-07-13T16:03:41+0000 \
 --resource-group <MyResourceGroup> \
 --location "West US" \
 --public-network-access Disabled \
 --disable-ttl True 

Ayarlanmadıysa --public-network-access , geri yüklenen hesaba genel ağdan erişilebilir. Geri yüklenen hesap için --public-network-access genel ağ erişimini engelleme seçeneğine geçtiğinden Disabled emin olun. disable-ttl ayarının $true olarak ayarlanması, geri yüklenen hesapta TTL'nin devre dışı bırakılmasını sağlar ve bu parametrenin sağlanmaması, daha önce ayarlanmışsa TTL'nin etkinleştirildiği hesabı geri yükler.

Not

Genel ağ erişimi devre dışı bırakılmış olarak geri yükleme için azure-cli'nin en düşük kararlı sürümü 2.52.0'dır.

Mevcut bir veritabanı hesabından yalnızca seçili veritabanlarını ve kapsayıcıları geri yükleyerek yeni bir Azure Cosmos DB hesabı oluşturma


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2020-07-13T16:03:41+0000 \
 --location "West US" \
 --databases-to-restore name=MyDB1 collections=Collection1 Collection2 \
 --databases-to-restore name=MyDB2 collections=Collection3 Collection4

Gremlin hesabı için mevcut bir API'den yalnızca seçili veritabanlarını ve grafikleri geri yükleyerek Gremlin hesabı için yeni bir Azure Cosmos DB API'sini oluşturma


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2022-04-13T16:03:41+0000 \
 --location "West US" \
 --gremlin-databases-to-restore name=MyDB1 graphs=graph1 graph2 \
 --gremlin-databases-to-restore name=MyDB2 graphs =graph3 graph4 

Tablo hesabı için mevcut bir API'den yalnızca seçili tabloları geri yükleyerek Tablo hesabı için yeni bir Azure Cosmos DB API'sini oluşturma


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2022-04-14T06:03:41+0000 \
 --location "West US" \
 --tables-to-restore table1 table2 

Geri yüklenen hesaptan geri yükleme ayrıntılarını alma

Geri yükleme ayrıntılarını almak için aşağıdaki komutu çalıştırın. Komut çıktısı az cosmosdb show özelliğin createMode değerini gösterir. Değer Geri Yükle olarak ayarlanırsa, hesabın başka bir hesaptan geri yüklendiğini gösterir. özelliği, restoreParameters kaynak hesap kimliğine sahip olan gibi restoreSourcedaha fazla ayrıntıya sahiptir. parametresindeki restoreSource son GUID, kaynak hesabın guid değeridir instanceId . restoreTimestamp ve nesnesinin restoreParameters altında olacaktır:

az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup

NoSQL için API için geri yüklenebilen kaynakları listeleme

Aşağıda açıklanan numaralandırma komutları, çeşitli zaman damgalarında geri yükleme için kullanılabilecek kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve kapsayıcı kaynaklarında önemli olayların akışını da sağlar.

Geçerli abonelikte geri yüklenebilen tüm hesapları listeleme

Geçerli abonelikte geri yüklenebilen tüm hesapları listelemek için aşağıdaki Azure CLI komutunu çalıştırın

az cosmosdb restorable-database-account list --account-name "Pitracct"

Yanıt, geri yüklenebilen tüm veritabanı hesaplarını (hem canlı hem de silinmiş) ve bunların geri yüklenebileceği bölgeleri içerir:

{
    "accountName": "Pitracct",
    "apiType": "Sql",
    "creationTime": "2021-01-08T23:34:11.095870+00:00",
    "deletionTime": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234",
    "identity": null,
    "location": "West US",
    "name": "abcd1234-d1c0-4645-a699-abcd1234",
    "restorableLocations": [
      {
        "creationTime": "2021-01-08T23:34:11.095870+00:00",
        "deletionTime": null,
        "locationName": "West US",
        "regionalDatabaseAccountInstanceId": "f02df26b-c0ec-4829-8bef-3482d36e6230"
      }
    ],
    "tags": null,
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
  }

CreationTime Hesap için veya DeletionTime gibi, bölge için de bir CreationTime veya DeletionTime vardır. Bu saatler, bu bölgeye geri yüklemek için doğru bölgeyi ve geçerli bir zaman aralığını seçmenize olanak sağlar.

Canlı veritabanı hesabındaki veritabanlarının tüm sürümlerini listeleme

Veritabanlarının tüm sürümlerini listelemek, veritabanının gerçek var olma zamanının bilinmediği bir senaryoda doğru veritabanını seçmenize olanak tanır.

Veritabanlarının tüm sürümlerini listelemek için aşağıdaki Azure CLI komutunu çalıştırın. Bu komut yalnızca canlı hesaplarla çalışır. instance-id ve parametreleri komutun location yanıtında az cosmosdb restorable-database-account list ve location özelliklerinden alınırname. instanceId Özniteliği ayrıca geri yüklenen kaynak veritabanı hesabının bir özelliğidir:

az cosmosdb sql restorable-database list \
  --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
  --location "West US"

Bu komut çıktısı artık bir veritabanının ne zaman oluşturulduğunu ve silindiğini gösterir.

[
  {
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/40e93dbd-2abe-4356-a31a-35567b777220",
     "name": "40e93dbd-2abe-4356-a31a-35567b777220",
    "resource": {
      "database": {
        "id": "db1"
      },
      "eventTimestamp": "2021-01-08T23:27:25Z",
      "operationType": "Create",
      "ownerId": "db1",
      "ownerResourceId": "YuZAAA=="
    },
   
  },
  {
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/243c38cb-5c41-4931-8cfb-5948881a40ea",
    "name": "243c38cb-5c41-4931-8cfb-5948881a40ea",
    "resource": {
      "database": {
        "id": "spdb1"
      },
      "eventTimestamp": "2021-01-08T23:25:25Z",
      "operationType": "Create",
      "ownerId": "spdb1",
      "ownerResourceId": "OIQ1AA=="
    },
 
  }
]

Canlı veritabanı hesabındaki bir veritabanının SQL kapsayıcılarının tüm sürümlerini listeleme

SQL kapsayıcılarının tüm sürümlerini listelemek için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır. database-rid parametresi, geri yüklemek istediğiniz veritabanının parametresidirResourceId. Komutun yanıtında bulunan özniteliğin değeridir ownerResourceidaz cosmosdb sql restorable-database list .

az cosmosdb sql restorable-container list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "OIQ1AA==" \
    --location "West US"

Bu komut çıktısı, bu veritabanı içindeki tüm kapsayıcılarda gerçekleştirilen işlemlerin listesini içerir:

[
  {
      "eventTimestamp": "2021-01-08T23:25:29Z",
      "operationType": "Replace",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
  {
      "eventTimestamp": "2021-01-08T23:25:26Z",
      "operationType": "Create",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
]

Belirli bir zaman damgasında geri yüklenebilen veritabanlarını veya kapsayıcıları bulma

Belirli bir zaman damgasında geri yüklenebilen veritabanlarının veya kapsayıcıların listesini almak için aşağıdaki komutu kullanın. Bu komut yalnızca canlı hesaplarla çalışır.


az cosmosdb sql restorable-resource list \
  --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
  --location "West US" \
  --restore-location "West US" \  
  --restore-timestamp "2021-01-10T01:00:00+0000"

[
  {
    "collectionNames": [
      "procol1",
      "procol2"
    ],
    "databaseName": "db1"
  },
  {
    "collectionNames": [
      "procol3",
       "spcol1"
    ],
    "databaseName": "spdb1"
  }
]

MongoDB hesabı için API için geri yüklenebilen kaynakları listeleme

Aşağıda açıklanan numaralandırma komutları, çeşitli zaman damgalarında geri yükleme için kullanılabilecek kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve kapsayıcı kaynaklarında önemli olayların akışını da sağlar. Bu komutlar yalnızca canlı hesaplarda çalışır.

Canlı veritabanı hesabında MongoDB veritabanlarının tüm sürümlerini listeleme

az cosmosdb mongodb restorable-database list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --location "West US"

Canlı veritabanı hesabındaki bir veritabanının MongoDB koleksiyonlarının tüm sürümlerini listeleme

az cosmosdb mongodb restorable-collection list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "AoQ13r==" \
    --location "West US"

Belirli bir zaman damgasında ve bölgede geri yüklenebilen mongodb veritabanı hesabının tüm kaynaklarını listeleme

az cosmosdb mongodb restorable-resource list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --location "West US" \
    --restore-location "West US" \
    --restore-timestamp "2020-07-20T16:09:53+0000"

Canlı veritabanı hesabındaki veritabanlarının tüm sürümlerini listeleme

Aşağıda açıklanan numaralandırma komutları, çeşitli zaman damgalarında geri yükleme için kullanılabilecek kaynakları bulmanıza yardımcı olur. Ayrıca, geri yüklenebilen hesap, veritabanı ve grafik kaynaklarında önemli olayların akışını da sağlar. Bu komutlar yalnızca canlı hesaplarda çalışır.

az cosmosdb gremlin restorable-database list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US"

Bu komut çıktısı artık bir veritabanının ne zaman oluşturulduğunu ve silindiğini gösterir.

[ { 
    "id": "/subscriptions/abcd1234-b6ac-4328-a753-abcd1234/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/abcd1234-4316-483b-8308-abcd1234/restorableGremlinDatabases/abcd1234-0e32-4036-ac9d-abcd1234", 
    "name": "abcd1234-0e32-4036-ac9d-abcd1234", 
    "resource": { 
      "eventTimestamp": "2022-02-09T17:10:18Z", 
      "operationType": "Create", 
      "ownerId": "db1", 
      "ownerResourceId": "1XUdAA==", 
      "rid": "ymn7kwAAAA==" 
    }, 
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases" 
    
  } 
] 

Canlı veritabanı hesabındaki bir veritabanının gremlin grafiklerinin tüm sürümlerini listeleme

az cosmosdb gremlin restorable-graph list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --database-rid "OIQ1AA==" \ 
   --location "West US" 

Bu komut çıktısı, bu veritabanı içindeki tüm kapsayıcılarda gerçekleştirilen işlemlerin listesini içerir:

[ { 

    "id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/a00d591d-4316-483b-8308-44193c5f3073/restorableGraphs/1792cead-4307-4032-860d-3fc30bd46a20", 
    "name": "1792cead-4307-4032-860d-3fc30bd46a20", 
    "resource": { 
      "eventTimestamp": "2022-02-09T17:10:31Z", 
      "operationType": "Create", 
      "ownerId": "graph1", 
      "ownerResourceId": "1XUdAPv9duQ=", 
      "rid": "IcWqcQAAAA==" 
    }, 
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs" 
  } 
] 

Belirli bir zaman damgasında geri yüklenebilen veritabanlarını veya grafikleri bulma

 
az cosmosdb gremlin restorable-resource list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US" \ 
   --restore-location "West US" \ 
   --restore-timestamp "2021-01-10T01:00:00+0000" 

Bu komut çıktısı, geri yüklenebilen grafikleri gösterir:

[
 { 
"databaseName": "db1", 
"graphNames": [ "graph1",   "graph3",   "graph2"  ] 
  } 
] 

Tablo hesabı için API için geri yüklenebilen kaynakları listeleme

Aşağıda açıklanan numaralandırma komutları, çeşitli zaman damgalarında geri yükleme için kullanılabilecek kaynakları bulmanıza yardımcı olur. Ayrıca, tablo kaynakları için geri yüklenebilen hesapta ve API'de önemli olayların akışını da sağlar. Bu komutlar yalnızca canlı hesaplarda çalışır.

Canlı veritabanı hesabındaki tabloların tüm sürümlerini listeleme

az cosmosdb table restorable-table list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234"  
   --location "West US" 
[   { 

"id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/7e4d666a-c6ba-4e1f-a4b9-e92017c5e8df/restorableTables/59781d91-682b-4cc2-93a3-c25d03fab159", 
"name": "59781d91-682b-4cc2-93a3-c25d03fab159", 
"resource": { 
  "eventTimestamp": "2022-02-09T17:09:54Z", 
  "operationType": "Create", 
  "ownerId": "table1", 
  "ownerResourceId": "tOdDAKYiBhQ=", 
  "rid": "9pvDGwAAAA==" 
  }, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 
   }, 

{"id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/7e4d666a-c6ba-4e1f-a4b9-e92017c5e8df/restorableTables/2c9f35eb-a14c-4ab5-a7e0-6326c4f6b785", 
"name": "2c9f35eb-a14c-4ab5-a7e0-6326c4f6b785", 
"resource": { 
  "eventTimestamp": "2022-02-09T20:47:53Z", 
  "operationType": "Create", 
  "ownerId": "table3", 
  "ownerResourceId": "tOdDALBwexw=", 
  "rid": "01DtkgAAAA==" 
}, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 

  }, 
] 

Belirli bir zaman damgasında ve bölgede geri yüklenebilen Tablo hesabı için BIR API'nin tüm kaynaklarını listeleme

az cosmosdb table restorable-resource list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US" \ 
   --restore-location "West US" \ 
   --restore-timestamp "2020-07-20T16:09:53+0000" 

Komutun sonucu aşağıdadır.

{   
  "tableNames": [ 
"table1", 
"table3", 
"table2" 

  ] 
} 

Azure Resource Manager şablonunu kullanarak geri yükleme

Ayrıca Azure Resource Manager (ARM) şablonunu kullanarak bir hesabı geri yükleyebilirsiniz. Şablonu tanımlarken aşağıdaki parametreleri ekleyin:

ARM şablonunu kullanarak NoSQL veya MongoDB hesabı için API'yi geri yükleme

  1. parametresini createMode Geri Yükle olarak ayarlayın.
  2. restoreParametersdeğerini tanımlayın, değerin restoreSource kaynak hesabınız için komutun çıkışından ayıklandığına az cosmosdb restorable-database-account list dikkat edin. Geri yüklemeyi yapmak için hesap adınızın Örnek Kimliği özniteliği kullanılır.
  3. parametresini restoreMode PointInTime olarak ayarlayın ve değeri yapılandırınrestoreTimestampInUtc.

NoSQL veya MongoDB için Azure Cosmos DB API'sinin hesabını geri yüklemek için aşağıdaki ARM şablonunu kullanın. Bundan sonra diğer API'ler için örnekler sağlanmıştır.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "vinhpitrarmrestore-kal3",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/6a18ecb8-88c2-4005-8dce-07b44b9741df",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "6/24/2020 4:01:48 AM",
            "restoreWithTtlDisabled": "true"
        }
      }
    }
  ]
}

ARM şablonunu kullanarak Gremlin hesabı için API'yi geri yükleme

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "ademo-pitr1",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "backupPolicy": { 
          "type": "Continuous" 
        }, 
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/5cb9d82e-ec71-430b-b977-cd6641db85bc",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2021-10-27T23:20:46Z",
            "gremlinDatabasesToRestore": [{ 
                "databaseName": "db1", 
                "graphNames": [ 
                    "graph1", "graph2" 
                ] 
            }]
        }
      }
    }
  ]
}

ARM şablonunu kullanarak Tablo hesabı için API'yi geri yükleme

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "ademo-pitr1",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "backupPolicy": { 
          "type": "Continuous" 
        }, 
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/1296c352-5d33-40d9-bc05-4d56dc2a7521/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4bcb9d82e-ec71-430b-b977-cd6641db85ad",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2022-04-13T10:20:46Z",
             "tablesToRestore": [ 
                "table1", "table2" 
            ] 
        }
      }
    }
  ]
}

Ardından Azure PowerShell veya Azure CLI kullanarak şablonu dağıtın. Aşağıdaki örnekte, şablonun Azure CLI komutuyla nasıl dağıtılacağı gösterilmektedir:

az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath> 

Sonraki adımlar