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

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

إشعار

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

قبل البدء

إشعار

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

استعادة تجمعات SQL من الخادم المحذوف

  1. افتح PowerShell.

  2. اتصل بحساب Azure الخاص بك.

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

  4. حدد التاريخ والوقت التقريبي الذي تم إسقاط الخادم فيه.

  5. أنشئ معرّف المورد لقاعدة البيانات التي ترغب في استعادتها من الخادم الذي تم إسقاطه.

  6. استعادة قاعدة البيانات من الخادم الذي تم قطعه

  7. تحقق من حالة قاعدة البيانات المستردة على أنها "متصلة".

$SubscriptionID="<YourSubscriptionID>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
$DatabaseName="<YourDatabaseName>"
$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
$TargetDatabaseName="<YourDatabaseName>"

Connect-AzAccount
Set-AzContext -SubscriptionId $SubscriptionID

# Define the approximate point in time the server was dropped as DroppedDateTime "yyyy-MM-ddThh:mm:ssZ" (ex. 2022-01-01T16:15:00Z)
$PointInTime="<DroppedDateTime>" 
$DroppedDateTime = Get-Date -Date $PointInTime 

# construct the resource ID of the database you wish to recover. The format required Microsoft.Sql. This includes the approximate date time the server was dropped.
$SourceDatabaseID = "/subscriptions/"+$SubscriptionID+"/resourceGroups/"+$ResourceGroupName+"/providers/Microsoft.Sql/servers/"+$ServerName+"/restorableDroppedDatabases/"+$DatabaseName+","+$DroppedDateTime.ToUniversalTime().ToFileTimeUtc().ToString()

# Restore to target workspace with the source database.
$RestoredDatabase = Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DroppedDateTime -ResourceGroupName $ResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName -ResourceId $SourceDatabaseID 

# Verify the status of restored database
$RestoredDatabase.status

استكشاف الأخطاء وإصلاحها

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