استعادة مجموعة SQL المخصصة الموجودة (المعروفة سابقاً باسم SQL DW)

في هذه المقالة، ستتعلم كيفية استعادة مجموعة SQL مخصص موجود (المعروف سابقاً باسم SQL DW) باستخدام مدخل Microsoft Azure وPowerShell.

إشعار

هذا الدليل مخصص لتجمعات SQL المخصصة المستقلة (المعروفة سابقًا باسم SQL DW) فقط. بالنسبة لتجمعات SQL المخصصة في مساحة عمل Azure Synapse Analytics، راجع استعادة تجمع SQL مخصص موجود.

قبل البدء

  1. تحقق من سعة DTU الخاصة بك. تتم استضافة كل تجمع بواسطة خادم SQL منطقي (على سبيل المثال، myserver.database.windows.net) الذي يحتوي على حصة DTU افتراضية. تحقق من احتواء الخادم على حصة DTU متبقية كافية لاستعادة قاعدة البيانات. لمعرفة كيفية حساب DTU المطلوب أو لطلب المزيد من DTU، راجع طلب تغيير حصة DTU.

  2. تأكد من تثبيت Azure PowerShell.

    إشعار

    نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

  3. لديك نقطة استعادة حالية تريد الاستعادة منها. إذا كنت تريد إنشاء استعادة جديدة، فراجع البرنامج التعليمي لإنشاء نقطة استعادة جديدة يحددها المستخدم.

استعادة مجموعة SQL المخصصة الموجودة (المعروفة سابقاً باسم SQL DW) من خلال PowerShell

لاستعادة مجموعة SQL مخصص موجود (المعروف سابقاً باسم SQL DW) من نقطة استعادة، استخدم الأمر Restore-AzSqlDatabase PowerShell cmdlet.

  1. افتح PowerShell.

  2. اتصل بحساب Azure الخاص بك وقم بسرد جميع الاشتراكات المرتبطة بحسابك.

  3. حدد الاشتراك الذي يحتوي على قاعدة البيانات المراد استعادتها.

  4. سرد نقاط الاستعادة لتجمع SQL المخصص (SQL DW سابقًا).

  5. اختر نقطة الاستعادة المطلوبة باستخدام RestorePointCreationDate.

  6. قم باستعادة مجموعة SQL المخصص (المعروف سابقاً باسم SQL DW) إلى نقطة الاستعادة المطلوبة باستخدام Restore-AzSqlDatabase PowerShell cmdlet.

    1. لاستعادة مجموعة SQL المخصص (المعروف سابقاً باسم SQL DW) إلى خادم مختلف، تأكد من تحديد اسم الخادم الآخر. يمكن أن يكون هذا الخادم أيضاً في مجموعة موارد ومنطقة مختلفة.
    2. لاستعادة اشتراك مختلف، راجع القسم أدناه.
  7. تحقق من أن تجمع SQL المخصص المستعاد (المعروف سابقاً باسم SQL DW) متصل بالإنترنت.

  8. بعد اكتمال الاستعادة، يمكنك تكوين مجموعة SQL المخصص الذي تم استرداده (المعروف سابقاً باسم SQL DW) باتباع تكوين قاعدة البيانات بعد الاسترداد.

    
    $SubscriptionName="<YourSubscriptionName>"
    $ResourceGroupName="<YourResourceGroupName>"
    $ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different server.
    #$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
    $DatabaseName="<YourDatabaseName>"
    $NewDatabaseName="<YourDatabaseName>"
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    
    # Restore database from a restore point
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Use the following command to restore to a different server
    #$TargetResourceGroupName = $Database.ResourceGroupName # for restoring to different server in same resourcegroup 
    #$RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

قم باستعادة مجموعة SQL المخصص الحالي (المعروف سابقاً باسم SQL DW) من خلال مدخل Microsoft Azure

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

  2. انتقل إلى تجمع SQL المخصص الذي تريد الاستعادة منه.

  3. في الجزء العلوي من صفحة نظرة عامة، حدد "Restore".

    لقطة شاشة من مدخل Microsoft Azure، وشريط التنقل في صفحة النظرة العامة لتجمع SQL، ويتم تمييز الزر استعادة.

  4. حدد إما نقاط الاستعادة التلقائية أو نقاط الاستعادة المحددة من قِبل المستخدم. إذا لم تكن لدى مجموعة SQL المخصص (المعروف سابقاً باسم SQL DW) أي نقاط استعادة تلقائية، فانتظر بضع ساعات أو قم بإنشاء نقطة استعادة يحددها المستخدم قبل الاستعادة. بالنسبة لنقاط الاستعادة المحددة من قبل المستخدم، حدد واحدة موجودة أو أنشئ واحدة جديدة. بالنسبة إلى الخادم، يمكنك اختيار خادم في مجموعة موارد ومنطقة مختلفة أو إنشاء واحدة جديدة. بعد توفير جميع المعلمات، حدد Review + Restore.

    لقطة شاشة من صفحة استعادة تجمع SQL المخصص لمدخل Azure. بالنسبة إلى نوع نقطة الاستعادة، يتم تحديد الزر التبادلي لنقاط الاستعادة المعرفة من قبل المستخدم.

قم باستعادة مجموعة SQL المخصصة الحالية (المعروفة سابقاً باسم SQL DW) إلى اشتراك مختلف من خلال PowerShell

يعد هذا دليلاً مشابهاً لاستعادة مجموعة SQL المخصصة الحالية، ولكن توضح الإرشادات أدناه أنه يجب تنفيذ أمر cmdlet لـ Get-AzSqlDatabase PowerShell في الاشتراك الأصلي بينما يجب أن يتم تنفيذ أمر Restore-AzSqlDatabase PowerShell cmdlet يتم إجراؤها في اشتراك الوجهة. يجب أن يكون لدى المستخدم الذي يقوم بالاستعادة أذونات مناسبة في كل من الاشتراكات المصدر والهدف.

  1. افتح PowerShell.

  2. تحديث وحدة Az.Sql النمطية إلى 3.8.0 (أو أحدث) إذا كان على إصدار أقدم باستخدام Update-Module. وإلا فإنه سيؤدي إلى فشل. للتحقق من صحة الإصدار باستخدام PowerShell:

    foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prequisite met."} else {update-module az.sql} }
    
  3. اتصل بحساب Azure الخاص بك وقم بسرد جميع الاشتراكات المرتبطة بحسابك.

  4. حدد الاشتراك الذي يحتوي على قاعدة البيانات المراد استعادتها.

  5. سرد نقاط الاستعادة لتجمع SQL المخصص (SQL DW سابقًا).

  6. اختر نقطة الاستعادة المطلوبة باستخدام RestorePointCreationDate.

  7. حدد الاشتراك الوجهة الذي يجب استعادة قاعدة البيانات فيه.

  8. قم باستعادة مجموعة SQL المخصص (المعروف سابقاً باسم SQL DW) إلى نقطة الاستعادة المطلوبة باستخدام Restore-AzSqlDatabase PowerShell cmdlet.

  9. تحقق من أن تجمع SQL المخصص المستعاد (المعروف سابقاً باسم SQL DW) متصل بالإنترنت.

    $SourceSubscriptionName="<YourSubscriptionName>"
    $SourceResourceGroupName="<YourResourceGroupName>"
    $SourceServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $SourceDatabaseName="<YourDatabaseName>"
    $TargetSubscriptionName="<YourTargetSubscriptionName>"
    $TargetResourceGroupName="<YourTargetResourceGroupName>"
    $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $TargetDatabaseName="<YourDatabaseName>"
    
    # Update Az.Sql module to the latest version (3.8.0 or above)
    # Update-Module -Name Az.Sql -RequiredVersion 3.8.0
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SourceSubscriptionName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Switch context to the destination subscription
    Select-AzSubscription -SubscriptionName $TargetSubscriptionName
    
    # Restore database from a desired restore point of the source database to the target server in the desired subscription
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status