استعادة حساب Azure Cosmos DB الذي يستخدم وضع النسخ الاحتياطي المستمر

ينطبق على: NoSQL MongoDB العفريت الجدول

تساعدك ميزة استعادة Azure Cosmos DB إلى نقطة زمنية على الاسترداد من تغيير عرضي داخل حاوية، لاستعادة حساب أو قاعدة بيانات أو حاوية محذوفة أو لاستعادة أي منطقة (حيث توجد نسخ احتياطية). يتيح لك وضع النسخ الاحتياطي المستمر الاستعادة إلى أي نقطة زمنية خلال آخر 30 يوماً.

توضح هذه المقالة كيفية تحديد وقت الاستعادة واستعادة حساب Azure Cosmos DB الحالي أو المحذوف. يوضح كيفية استعادة الحساب باستخدام مدخل Microsoft Azure أو PowerShell أو CLI أو قالب Azure Resource Manager.

استعادة حساب باستخدام مدخل Azure

استعادة حساب فعلي من تعديل عرضي

يمكنك استخدام مدخل Azure لاستعادة حساب فعلي بالكامل أو قواعد بيانات وحاويات محددة ضمنه. استخدم الخطوات التالية لاستعادة البيانات:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. انتقل إلى حساب Azure Cosmos DB الخاص بك وافتح جزء Point In Time Restore.

    إشعار

    لا تتم تعبئة جزء الاستعادة في مدخل Azure إلا إذا كان لديك إذن Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read. لمعرفة المزيد حول كيفية تعيين هذا الإذن، راجع مقالة أذونات النسخ الاحتياطي والاستعادة.

  3. املأ التفاصيل التالية لاستعادتها:

    • نقطة الاستعادة (UTC) - طابع زمني خلال آخر 30 يوماً. يجب أن يكون الحساب موجوداً في هذا الطابع الزمني. يمكنك تحديد نقطة الاستعادة في UTC. قد تكون قريبة من الثانية عندما تريد استعادتها. حدد الارتباط انقر هنا للحصول على مساعدة بشأن تحديد نقطة الاستعادة.

    • الموقع - منطقة الوجهة حيث تتم استعادة الحساب. يجب أن يكون الحساب موجوداً في هذه المنطقة بالطابع الزمني المحدد (على سبيل المثال، غرب الولايات المتحدة أو شرق الولايات المتحدة). يمكن استعادة حساب فقط إلى المناطق التي يوجد بها حساب المصدر.

    • استعادة المورد - يمكنك إما اختيار حساب كامل أو قاعدة بيانات/حاوية محددة لاستعادتها. يجب أن تكون قواعد البيانات والحاويات موجودة في الطابع الزمني المحدد. استناداً إلى نقطة الاستعادة والموقع المحددين، تتم تعبئة موارد الاستعادة، ما يسمح للمستخدم بتحديد قواعد بيانات أو حاويات معينة تحتاج إلى الاستعادة.

    • مجموعة الموارد - مجموعة الموارد التي سيتم بموجبها إنشاء الحساب الهدف واستعادته. يجب أن تكون مجموعة الموارد موجودة مسبقاً.

    • استعادة الحساب الهدف - اسم الحساب الهدف. يجب أن يتبع اسم الحساب الهدف نفس الإرشادات عند إنشاء حساب جديد. سيتم إنشاء هذا الحساب من خلال عملية الاستعادة في نفس المنطقة التي يوجد بها حساب المصدر الخاص بك.

    استعادة حساب فعلي من مدخل Azure الخاص بالتعديل العرضي.

  4. بعد تحديد المعلمات أعلاه، حدد الزر Submit لبدء عملية الاستعادة. تكلفة الاستعادة هي رسوم لمرة واحدة، ويعتمد على حجم البيانات وتكلفة تخزين النسخ الاحتياطي في المنطقة المحددة. لمعرفة المزيد، راجع قسم التسعير.

قد يؤدي حذف حساب المصدر أثناء إجراء الاستعادة إلى فشل الاستعادة.

الطابع الزمني القابل للاستعادة للحسابات المباشرة

لاستعادة حسابات Azure Cosmos DB الحالية التي لم تُحذَف، من الأفضل دائماً تحديد أحدث طابع زمني قابل للاستعادة للحاوية. يمكنك بعد ذلك استخدام هذا الطابع الزمني لاستعادة الحساب في أحدث إصدار منه.

استخدم موجز الأحداث لتحديد وقت الاستعادة

عند تعبئة الاستعادة إلى نقطة زمنية في مدخل Azure، إذا كنت بحاجة إلى مساعدة في تحديد نقطة الاستعادة، فحدد الارتباط انقر هنا، وسيأخذك إلى قسم موجز الحدث. يوفر موجز الحدث قائمة كاملة بالدقة لإنشاء واستبدال وحذف الأحداث في قواعد البيانات وحاويات الحساب المصدر.

على سبيل المثال، إذا كنت تريد الاستعادة إلى نقطة زمنية كانت موجودة قبل حذف حاوية معينة أو تحديثها، فتحقق من موجز الحدث هذا. يتم عرض الأحداث بترتيب تنازلي زمنياً للوقت عند وقوعها، مع الأحداث الأخيرة في الأعلى. يمكنك استعراض النتائج وتحديد الوقت قبل أو بعد الحدث لتضييق وقتك بشكل أكبر.

استخدم موجز الحدث لتحديد الاستعادة إلى نقطة زمنية.

إشعار

لا يعرض موجز الحدث التغييرات التي تم إجراؤها على موارد العنصر. يمكنك دائماً تحديد أي طابع زمني يدوياً في آخر 30 يوماً (طالما كان الحساب موجوداً في ذلك الوقت) لاستعادته.

استعادة خادم محذوف

يمكنك استخدام مدخل Azure لاستعادة حساب محذوف بالكامل خلال 30 يوماً من حذفه. استخدم الخطوات التالية لاستعادة حساب محذوف:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. ابحث عن موارد Azure Cosmos DB في شريط البحث العالمي. يتم سرد جميع حساباتك الحالية.

  3. بعد ذلك، حدد الزر Restore. يعرض جز الاستعادة قائمة بالحسابات المحذوفة التي يمكن استعادتها خلال فترة الاحتفاظ، وهي 30 يوماً من وقت الحذف.

  4. اختر الحساب الذي تريد استعادته.

    استعادة حساب محذوف من مدخل Azure.

    إشعار

    لا تتم تعبئة جزء الاستعادة في مدخل Azure إلا إذا كان لديك إذن Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read. لمعرفة المزيد حول كيفية تعيين هذا الإذن، راجع مقالة أذونات النسخ الاحتياطي والاستعادة.

  5. حدد حساباً لاستعادته وأدخل التفاصيل التالية لاستعادة حساب محذوف:

    • نقطة الاستعادة (UTC) - طابع زمني خلال آخر 30 يوماً. يجب أن يكون الحساب موجوداً في ذلك الطابع الزمني. حدد نقطة الاستعادة في UTC. قد تكون قريبة من الثانية عندما تريد استعادتها.

    • الموقع - منطقة الوجهة حيث يتعين استعادة الحساب. يجب أن يكون الحساب المصدر موجوداً بهذه المنطقة في الطابع الزمني المحدد. مثال غرب الولايات المتحدة أو شرق الولايات المتحدة.

    • مجموعة الموارد - مجموعة الموارد التي سيتم بموجبها إنشاء الحساب الهدف واستعادته. يجب أن تكون مجموعة الموارد موجودة مسبقاً.

    • استعادة الحساب الهدف - يجب أن يتبع اسم الحساب الهدف نفس الإرشادات التي كانت تُتبع عند إنشاء حساب جديد. سيتم إنشاء هذا الحساب من خلال عملية الاستعادة في نفس المنطقة التي يوجد بها حساب المصدر الخاص بك.

تتبع حالة عملية الاستعادة

بعد بدء عملية الاستعادة، حدد رمز الجرس الإشعارات في الزاوية العلوية اليمنى من المدخل. فهو يعطي ارتباطاً يعرض حالة الحساب الذي تتم استعادته. أثناء إجراء الاستعادة، ستكون حالة الحساب قيد الإنشاء، وبعد اكتمال عملية الاستعادة، ستتغير حالة الحساب إلى متصل.

تتغير حالة الحساب المستعاد من إنشاء إلى متصل عند اكتمال العملية.

الحصول على تفاصيل الاستعادة من الحساب المستعاد

بعد اكتمال عملية الاستعادة، قد ترغب في معرفة تفاصيل حساب المصدر الذي استعدت منه أو وقت الاستعادة.

استخدم الخطوات التالية للحصول على تفاصيل الاستعادة من مدخل Azure:

  1. سجل الدخول إلى مدخل Microsoft Azure وانتقل إلى الحساب المستعادة.

  2. انتقل إلى جزء تصدير القالب. يفتح قالب JSON المقابل للحساب المستعاد.

استعادة حساب باستخدام Azure PowerShell

قبل استعادة الحساب، قم بتثبيت أحدث إصدار من Azure PowerShell أو إصدار أعلى من 9.6.0. بعد ذلك، اتصل بحساب Azure الخاص بك وحدد الاشتراك المطلوب باستخدام الأوامر التالية:

  1. قم بتسجيل الدخول إلى Azure باستخدام الأمر التالي:

    Connect-AzAccount
    
  2. حدد اشتراكاً محدداً باستخدام الأمر التالي:

    Select-AzSubscription -Subscription <SubscriptionName>
    

تشغيل عملية استعادة لواجهة برمجة التطبيقات لحساب NoSQL

cmdlet التالي هو مثال لتشغيل عملية استعادة باستخدام أمر الاستعادة باستخدام الحساب الهدف والحساب المصدر والموقع ومجموعة الموارد و PublicNetworkAccess و DisableTtl والطوابع الزمنية:


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

مثال 1: استعادة الحساب بالكامل:


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


إذا PublicNetworkAccess لم يتم تعيينه، يمكن الوصول إلى الحساب المستعاد من الشبكة العامة، يرجى التأكد من التمرير Disabled إلى PublicNetworkAccess خيار تعطيل الوصول إلى الشبكة العامة للحساب المستعاد. يضمن تعيين DisableTtl إلى $true تعطيل TTL على الحساب المستعاد، وعدم توفير المعلمة لاستعادة الحساب مع تمكين TTL إذا تم تعيينه مسبقا.

إشعار

للاستعادة مع تعطيل الوصول إلى الشبكة العامة، الحد الأدنى للإصدار الثابت من Az.CosmosDB المطلوب هو 1.12.0.

مثال 2: استعادة مجموعات وقواعد بيانات محددة. يستعيد هذا المثال المجموعات MyCol1 وMyCol2 من MyDB1 وقاعدة البيانات بالكامل MyDB2، والتي تتضمن جميع الحاويات الموجودة ضمنها.

$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"

مثال 3: استعادة واجهة برمجة التطبيقات لحساب Gremlin. يستعيد هذا المثال الرسوم البيانية graph1، و graph2 من MyDB1 وقاعدة البيانات بالكامل MyDB2، التي تتضمن جميع الحاويات الموجودة ضمنها.

$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"

مثال 4: استعادة واجهة برمجة التطبيقات لحساب الجدول. يستعيد هذا المثال الجداول table1، و table1 من MyDB1

$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

لاستعادة حساب المفتاح المدار للعميل (CMK)، يرجى الرجوع إلى الخطوات المتوفرة هنا

الحصول على تفاصيل الاستعادة من الحساب المستعاد

استيراد إصدار الوحدة النمطية Az.CosmosDB 1.12.0 وتشغيل الأمر التالي للحصول على تفاصيل الاستعادة. سيكون الطابع الزمني للاستعادة ضمن كائن restoreParameters:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

تعداد الموارد القابلة للاستعادة لواجهة برمجة التطبيقات ل NoSQL

تساعدك أوامر cmdlets الخاصة بالتعداد على اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضاً موجزاً للأحداث الرئيسية في الحساب القابل للاستعادة وقاعدة البيانات وموارد الحاوية.

اسرد قائمة بجميع الحسابات التي يمكن استعادتها في الاشتراك الحالي

قم بتشغيل الأمر Get-AzCosmosDBRestorableDatabaseAccount PowerShell لسرد جميع الحسابات التي يمكن استعادتها في الاشتراك الحالي.

تتضمن الاستجابة جميع حسابات قاعدة البيانات (الفعلية والمحذوفة) التي يمكن استعادتها والمناطق التي يمكن استعادتها منها.

{
    "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 أو DeletionTime للحساب، هناك CreationTime أو DeletionTime للمنطقة أيضاً. تسمح لك هذه الأوقات باختيار المنطقة المناسبة ونطاق زمني صالح لاستعادته إلى تلك المنطقة.

اسرد قائمة بجميع إصدارات قواعد بيانات SQL في حساب قاعدة بيانات فعلي

يتيح لك سرد جميع إصدارات قواعد البيانات اختيار قاعدة البيانات الصحيحة في سيناريو يكون فيه الوقت الفعلي لوجود قاعدة البيانات غير معروف.

قم بتشغيل أمر PowerShell التالي لسرد جميع إصدارات قواعد البيانات. هذا الأمر يعمل فقط مع الحسابات الفعلية. تم الحصول على المعلمات DatabaseAccountInstanceId وLocation من خصائص name وlocation استجابة لـ Get-AzCosmosDBRestorableDatabaseAccount cmdlet. تشير السمة DatabaseAccountInstanceId إلى instanceId خاصية حساب قاعدة البيانات المصدر التي تتم استعادتها:


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

اسرد جميع إصدارات حاويات SQL لقاعدة البيانات في حساب قاعدة بيانات فعلي

استخدم الأمر التالي لسرد جميع إصدارات حاويات SQL. هذا الأمر يعمل فقط مع الحسابات الفعلية. المعلمة DatabaseRId هي ResourceId قاعدة البيانات التي تريد استعادتها. وهي قيمة السمة ownerResourceid الموجودة في استجابة Get-AzCosmosdbSqlRestorableDatabase cmdlet. تتضمن الاستجابة أيضاً قائمة بالعمليات التي تم إجراؤها على جميع الحاويات الموجودة داخل قاعدة البيانات هذه.


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

ابحث عن قواعد البيانات أو الحاويات التي يمكن استعادتها في أي طابع زمني محدد

استخدم الأمر التالي للحصول على قائمة قواعد البيانات أو الحاويات التي يمكن استعادتها في أي طابع زمني محدد. هذا الأمر يعمل فقط مع الحسابات الفعلية.


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

تعداد الموارد القابلة للاستعادة في واجهة برمجة التطبيقات لـ MongoDB

تساعدك أوامر التعداد الموضحة أدناه في اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضاً موجزاً للأحداث الرئيسية في الحساب القابل للاستعادة وقاعدة البيانات وموارد الحاوية. تعمل هذه الأوامر فقط للحسابات المباشرة وهي مشابهة لواجهة برمجة التطبيقات لأوامر NoSQL ولكن مع MongoDB في اسم الأمر بدلا من sql.

اسرد قائمة بجميع إصدارات قواعد بيانات MongoDB في حساب قاعدة بيانات فعلي


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

اسرد قائمة بجميع إصدارات مجموعات MongoDB لقاعدة البيانات في حساب قاعدة بيانات فعلي


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

اسرد جميع موارد حساب قاعدة بيانات MongoDB المتاحة للاستعادة في طابع زمني ومنطقة معينة


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

تعداد الموارد القابلة للاستعادة لواجهة برمجة التطبيقات ل Gremlin

تساعدك أوامر cmdlets الخاصة بالتعداد على اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضًا موجزًا للأحداث الرئيسية في الحساب القابل للاستعادة، وقاعدة البيانات، وموارد المخططات.

اسرد قائمة بجميع إصدارات قواعد بيانات Gremlin في حساب قاعدة بيانات فعلي

يتيح لك سرد جميع إصدارات قواعد البيانات اختيار قاعدة البيانات الصحيحة في سيناريو يكون فيه الوقت الفعلي لوجود قاعدة البيانات غير معروف. قم بتشغيل أمر PowerShell التالي لسرد جميع إصدارات قواعد البيانات. هذا الأمر يعمل فقط مع الحسابات الفعلية. تم الحصول على المعلمات DatabaseAccountInstanceId وLocation من خصائص name وlocation استجابة لـ Get-AzCosmosDBRestorableDatabaseAccount cmdlet. تشير السمة DatabaseAccountInstanceId إلى instanceId خاصية حساب قاعدة البيانات المصدر التي تتم استعادتها:

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

اسرد جميع إصدارات مخططات Gremlin لقاعدة البيانات في حساب قاعدة بيانات فعلي

استخدم الأمر التالي لسرد جميع إصدارات API للرسوم البيانية Gremlin. هذا الأمر يعمل فقط مع الحسابات الفعلية. المعلمة DatabaseRId هي ResourceId قاعدة البيانات التي تريد استعادتها. وهي قيمة السمة ownerResourceid الموجودة في استجابة Get-AzCosmosdbGremlinRestorableDatabase cmdlet. تتضمن الاستجابة أيضًا قائمة بالعمليات التي تم إجراؤها على جميع المخططات الموجودة داخل قاعدة البيانات هذه.

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

ابحث عن قواعد البيانات أو المخططات التي يمكن استعادتها في أي طابع زمني محدد

استخدم الأمر التالي للحصول على قائمة قواعد البيانات أو المخططات التي يمكن استعادتها في أي طابع زمني محدد. هذا الأمر يعمل فقط مع الحسابات الفعلية.

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

تعداد الموارد القابلة للاستعادة لواجهة برمجة التطبيقات للجدول

تساعدك أوامر cmdlets الخاصة بالتعداد على اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضًا موجزًا للأحداث الرئيسية في الحساب القابل للاستعادة وموارد الجدول.

اسرد جميع إصدارات جداول قاعدة البيانات في حساب قاعدة بيانات فعلي

استخدم الأمر التالي لسرد جميع إصدارات الجداول. هذا الأمر يعمل فقط مع الحسابات الفعلية.

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

ابحث عن الجداول التي يمكن استعادتها في أي طابع زمني محدد

استخدم الأمر التالي للحصول على قائمة الجداول التي يمكن استعادتها في أي طابع زمني محدد. هذا الأمر يعمل فقط مع الحسابات الفعلية.

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

استعادة حساب باستخدام Azure CLI

قبل استعادة الحساب، قم بتثبيت Azure CLI باستخدام الخطوات التالية:

  1. ثبّت أحدث إصدار من Azure CLI

    • تثبيت أحدث إصدار من Azure CLI أو إصدار أعلى من 2.52.0.
    • إذا كنت قد قمت بالفعل بتثبيت CLI، فقم بتشغيل الأمر az upgrade للتحديث إلى أحدث إصدار. سيعمل هذا الأمر فقط مع إصدار CLI أعلى من 2.52.0. إذا كان لديك إصدار سابق، فاستخدم الرابط أعلاه لتثبيت أحدث إصدار.
  2. تسجيل الدخول وتحديد اشتراكك

    • سجّل الدخول إلى حساب Azure باستخدام الأمر az login.
    • حدد الاشتراك المطلوب باستخدام الأمر az account set -s <subscriptionguid>.

قم بتشغيل عملية الاستعادة باستخدام Azure CLI

إن أبسط طريقة لبدء الاستعادة هي إصدار أمر الاستعادة باسم الحساب الهدف، والحساب المصدر، والموقع، ومجموعة الموارد، والطابع الزمني (بالتوقيت العالمي المنسق)، واختيارياً اسم قاعدة البيانات والحاوية. فيما يلي بعض الأمثلة لبدء عملية الاستعادة:

إنشاء حساب Azure Cosmos DB جديد من خلال الاستعادة من حساب موجود


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 

إذا --public-network-access لم يتم تعيين، يمكن الوصول إلى الحساب المستعاد من الشبكة العامة. يرجى التأكد من التمرير Disabled إلى --public-network-access خيار منع الوصول إلى الشبكة العامة للحساب المستعاد. يضمن تعيين disable-ttl إلى إلى $true تعطيل TTL على الحساب المستعاد، وعدم توفير هذه المعلمة يستعيد الحساب مع تمكين TTL إذا تم تعيينه مسبقا.

إشعار

للاستعادة مع تعطيل الوصول إلى الشبكة العامة، يكون الحد الأدنى للإصدار الثابت من azure-cli هو 2.52.0.

إنشاء حساب Azure Cosmos DB جديد من خلال استعادة قواعد البيانات والحاويات المُحدّدة فقط من حساب قاعدة بيانات موجود


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

إنشاء واجهة برمجة تطبيقات Azure Cosmos DB جديدة لحساب Gremlin عن طريق استعادة قواعد البيانات والرسوم البيانية المحددة فقط من واجهة برمجة تطبيقات موجودة لحساب Gremlin


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 

إنشاء واجهة برمجة تطبيقات Azure Cosmos DB جديدة لحساب الجدول عن طريق استعادة الجداول المحددة فقط من واجهة برمجة تطبيقات موجودة لحساب الجدول


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 

الحصول على تفاصيل الاستعادة من الحساب المستعاد

بتشغيل الأمر التالي للحصول على تفاصيل الاستعادة. تعرض مخرج الأمر az cosmosdb show قيمة createMode الخاصية. إذا تم تعيين القيمة إلى Restore، فذلك يشير إلى أنه تم استعادة الحساب من حساب آخر. تحتوي الخاصية restoreParameters على مزيد من التفاصيل مثل restoreSource، الذي يحتوي على معرّف الحساب المصدر. يعد مُعرّف GUID الأخير في restoreSource المعلمة هو instanceId في الحساب المصدر. وسيدرج restoreTimestamp ضمن العنصر restoreParameters:

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

تعداد الموارد القابلة للاستعادة لواجهة برمجة التطبيقات ل NoSQL

تساعدك أوامر التعداد الموضحة أدناه في اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضاً موجزاً للأحداث الرئيسية في الحساب القابل للاستعادة وقاعدة البيانات وموارد الحاوية.

اسرد قائمة بجميع الحسابات التي يمكن استعادتها في الاشتراك الحالي

قم بتشغيل أمر Azure CLI التالي لسرد جميع الحسابات التي يمكن استعادتها في الاشتراك الحالي

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

تتضمن الاستجابة جميع حسابات قاعدة البيانات (الفعلية والمحذوفة) التي يمكن استعادتها، والمناطق التي يمكن استعادتها منها:

{
    "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 أو DeletionTime للحساب، هناك CreationTime أو DeletionTime للمنطقة أيضاً. تسمح لك هذه الأوقات باختيار المنطقة المناسبة ونطاق زمني صالح لاستعادته إلى تلك المنطقة.

اسرد قائمة بجميع إصدارات قواعد البيانات في حساب قاعدة بيانات فعلي

يتيح لك سرد جميع إصدارات قواعد البيانات اختيار قاعدة البيانات الصحيحة في سيناريو يكون فيه الوقت الفعلي لوجود قاعدة البيانات غير معروف.

قم بتشغيل أمر Azure CLI التالي لسرد جميع إصدارات قواعد البيانات. هذا الأمر يعمل فقط مع الحسابات الفعلية. تم الحصول على المعلمات instance-id وlocation من خصائص name وlocation استجابة للأمر az cosmosdb restorable-database-account list. إن سمة instanceId هي أيضًا خاصية في حساب قاعدة البيانات المصدر التي تتم استعادتها:

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

يُظهر إخراج الأمر هذا الآن متى تم إنشاء قاعدة بيانات وحذفها.

[
  {
    "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=="
    },
 
  }
]

اسرد جميع إصدارات حاويات SQL لقاعدة البيانات في حساب قاعدة بيانات فعلي

استخدم الأمر التالي لسرد جميع إصدارات حاويات SQL. هذا الأمر يعمل فقط مع الحسابات الفعلية. المعلمة database-rid هي ResourceId قاعدة البيانات التي تريد استعادتها. وهي قيمة السمة ownerResourceid الموجودة استجابة للأمر az cosmosdb sql restorable-database list.

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

تعرض مخرجات الأوامر تضمين الاستجابة قائمة بالعمليات التي تم إجراؤها على جميع الحاويات الموجودة داخل قاعدة البيانات هذه:

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

ابحث عن قواعد البيانات أو الحاويات التي يمكن استعادتها في أي طابع زمني محدد

استخدم الأمر التالي للحصول على قائمة قواعد البيانات أو الحاويات التي يمكن استعادتها في أي طابع زمني محدد. هذا الأمر يعمل فقط مع الحسابات الفعلية.


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

تساعدك أوامر التعداد الموضحة أدناه في اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضاً موجزاً للأحداث الرئيسية في الحساب القابل للاستعادة وقاعدة البيانات وموارد الحاوية. تعمل هذه الأوامر مع الحسابات الفعلية فقط.

اسرد قائمة بجميع إصدارات قواعد بيانات MongoDB في حساب قاعدة بيانات فعلي

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

اسرد قائمة بجميع إصدارات مجموعات MongoDB لقاعدة البيانات في حساب قاعدة بيانات فعلي

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

اسرد جميع موارد حساب قاعدة بيانات mongodb المتاحة للاستعادة في طابع زمني ومنطقة معينة

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"

اسرد قائمة بجميع إصدارات قواعد البيانات في حساب قاعدة بيانات فعلي

تساعدك أوامر التعداد الموضحة أدناه في اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضًا موجزًا للأحداث الرئيسية في الحساب القابل للاستعادة، وقاعدة البيانات، وموارد المخططات. تعمل هذه الأوامر مع الحسابات الفعلية فقط.

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

يُظهر إخراج الأمر هذا الآن متى تم إنشاء قاعدة بيانات وحذفها.

[ { 
    "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" 
    
  } 
] 

اسرد جميع إصدارات مخططات Gremlin لقاعدة البيانات في حساب قاعدة بيانات فعلي

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

تعرض مخرجات الأوامر تضمين الاستجابة قائمة بالعمليات التي تم إجراؤها على جميع الحاويات الموجودة داخل قاعدة البيانات هذه:

[ { 

    "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" 
  } 
] 

ابحث عن قواعد البيانات أو المخططات التي يمكن استعادتها في أي طابع زمني محدد

 
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" 

يظهر إخراج الأمر هذا الرسوم البيانية القابلة للاستعادة:

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

تعداد الموارد القابلة للاستعادة لواجهة برمجة التطبيقات لحساب الجدول

تساعدك أوامر التعداد الموضحة أدناه في اكتشاف الموارد المتاحة للاستعادة في طوابع زمنية مختلفة. بالإضافة إلى ذلك، فإنها توفر أيضا موجزا للأحداث الرئيسية على الحساب القابل للاستعادة وواجهة برمجة التطبيقات لموارد الجدول. تعمل هذه الأوامر مع الحسابات الفعلية فقط.

اسرد قائمة بجميع إصدارات الجداول في حساب قاعدة بيانات فعلي

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" 

  }, 
] 

سرد جميع موارد واجهة برمجة التطبيقات لحساب الجدول المتوفرة للاستعادة في طابع زمني ومنطقة معينة

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" 

فيما يلي نتيجة الأمر .

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

  ] 
} 

قم باستعادتها باستخدام قالب Azure Resource Manager

يمكنك أيضًا استعادة الحساب باستخدام قالب Azure Resource Manager (ARM). عند تحديد القالب، قم بتضمين المعلمات التالية:

استعادة واجهة برمجة التطبيقات لحساب NoSQL أو MongoDB باستخدام قالب ARM

  1. عيّن المعلمة createMode على Restore.
  2. حدد restoreParameters، لاحظ أنه restoreSourceيتم استخراج قيمة من مخرجات الأوامرaz cosmosdb restorable-database-account list لحساب المصدر الخاص بك. يتم استخدام سمة معرف المثيل لاسم حسابك لإجراء الاستعادة.
  3. عين المعلمة restoreMode على PointInTime وقم بتكوين قيمة restoreTimestampInUtc.

استخدم قالب ARM التالي لاستعادة حساب لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL أو MongoDB. يتم توفير أمثلة لواجهات برمجة التطبيقات الأخرى بعد ذلك.

{
  "$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"
        }
      }
    }
  ]
}

استعادة واجهة برمجة التطبيقات لحساب Gremlin باستخدام قالب ARM

{
  "$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

{
  "$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" 
            ] 
        }
      }
    }
  ]
}

ثم، قم بنشر القالب باستخدام Azure PowerShell أو Azure CLI. يوضح المثال التالي كيفية نشر القالب باستخدام أمر Azure CLI:

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

الخطوات التالية