استعادة قاعدة بيانات في مثيل Azure SQL المُدار إلى نقطة زمنية سابقة
ينطبق على: مثيل Azure SQL المُدار
استخدم الاسترداد في نقطة زمنية (PITR) لإنشاء قاعدة بيانات كنسخة من قاعدة بيانات أخرى في وقت ما في الماضي. توضح هذه المقالة كيفية إجراء استعادة نقطة زمنية لقاعدة بيانات في مثيل Azure SQL المُدار.
تعد الاستعادة في الوقت المناسب مفيدة في سيناريوهات الاسترداد، مثل الحوادث الناتجة عن الأخطاء أو البيانات المحملة بشكل غير صحيح أو حذف البيانات المهمة. يمكنك أيضاً استخدامه ببساطة للاختبار أو المراجعة. يتم الاحتفاظ بملفات النسخ الاحتياطي لمدة 7 إلى 35 يوماً، اعتماداً على إعدادات قاعدة البيانات الخاصة بك.
يمكن لاستعادة نقطة زمنية استعادة قاعدة بيانات:
- من قاعدة بيانات موجودة.
- من قاعدة بيانات محذوفة.
- إلى نفس مثيل SQL المُدار، أو مثيل SQL المُدار آخر.
التقييدات
تتضمن استعادة نقطة في الوقت المناسب إلى SQL Managed Instance القيود التالية:
- عندما تقوم بالاستعادة من مثيل واحد من SQL Managed Instance إلى مثيل آخر، يجب أن يكون كلا المثلين في نفس الاشتراك والمنطقة. الاستعادة عبر المناطق والاشتراكات غير مدعومة حالياً.
- لا يمكن استعادة مثيل SQL المُدار بالكامل في نقطة زمنية. تشرح هذه المقالة ما هو ممكن فقط: استعادة نقطة زمنية لقاعدة بيانات مستضافة على SQL Managed Instance.
تحذير
كن على علم بحجم تخزين مثيل SQL المُدار. اعتماداً على حجم البيانات المراد استعادتها، قد تنفد مساحة تخزين المثيل. إذا لم تكن هناك مساحة كافية للبيانات المستعادة، فاستخدم طريقة مختلفة.
يعرض الجدول التالي سيناريوهات استعادة نقطة زمنية لـ SQL Managed Instance:
استعادة قاعدة البيانات الموجودة إلى نفس مثيل SQL المُدار | استعادة قاعدة البيانات الحالية إلى مثيل آخر مُدار من قِبل SQL | استعادة DB المسقطة إلى نفس مثيل SQL المُدار | استعادة DB المسقطة إلى مثيل آخر مُدار لـ SQL | |
---|---|---|---|---|
مدخل Microsoft Azure | نعم | نعم | نعم | نعم |
Azure CLI | نعم | نعم | لا | لا |
PowerShell | نعم | نعم | نعم | نعم |
استعادة قاعدة بيانات موجودة
قم باستعادة قاعدة بيانات موجودة إلى نفس مثيل SQL المُدار باستخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI. لاستعادة قاعدة بيانات إلى مثيل آخر مُدار من SQL، استخدم PowerShell أو Azure CLI حتى تتمكن من تحديد الخصائص لمجموعة الموارد والمثيل المُدار من SQL. إذا لم تحدد هذه المعلمات، فستتم استعادة قاعدة البيانات إلى مثيل SQL المُدار افتراضياً. لا يدعم مدخل Microsoft Azure حالياً الاستعادة إلى مثيل SQL مُدار آخر.
تسجيل الدخول إلى مدخل Microsoft Azure.
انتقل إلى SQL Managed Instance وحدد قاعدة البيانات التي تريد استعادتها.
حدد Restore في صفحة قاعدة البيانات:
في صفحة Restore، حدد النقطة الخاصة بالتاريخ والوقت اللذين تريد استعادة قاعدة البيانات إليهما.
حدد Confirm لاستعادة قاعدة البيانات الخاصة بك. يبدأ هذا الإجراء عملية الاستعادة، التي تنشئ قاعدة بيانات جديدة وتعبئها ببيانات من قاعدة البيانات الأصلية في نقطة زمنية محددة. لمزيد من المعلومات حول عملية الاسترداد، راجع وقت الاسترداد.
استعادة قاعدة بيانات محذوفة
يمكن استعادة قاعدة البيانات المحذوفة باستخدام PowerShell أو مدخل Microsoft Azure. لاستعادة قاعدة بيانات محذوفة إلى نفس المثيل، استخدم إما مدخل Microsoft Azure أو PowerShell. لاستعادة قاعدة بيانات محذوفة إلى مثيل آخر، استخدم PowerShell.
المدخل
لاستعادة قاعدة بيانات مُدارة باستخدام مدخل Microsoft Azure، افتح صفحة نظرة عامة على SQL المُدار المثيل وحدد Deleted databases. اختر قاعدة البيانات المحذوفة التي تريد استعادتها، واكتب اسم قاعدة البيانات الجديدة التي سيتم إنشاؤها باستخدام البيانات المستعادة من النسخة الاحتياطية.
PowerShell
لاستعادة قاعدة بيانات إلى نفس المثيل، قم بتحديث قيم المعلمات ثم قم بتشغيل أمر PowerShell التالي:
$subscriptionId = "<Subscription ID>"
Get-AzSubscription -SubscriptionId $subscriptionId
Select-AzSubscription -SubscriptionId $subscriptionId
$resourceGroupName = "<Resource group name>"
$managedInstanceName = "<SQL Managed Instance name>"
$deletedDatabaseName = "<Source database name>"
$targetDatabaseName = "<target database name>"
$deletedDatabase = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName $resourceGroupName `
-InstanceName $managedInstanceName -DatabaseName $deletedDatabaseName
Restore-AzSqlinstanceDatabase -FromPointInTimeBackup -Name $deletedDatabase.Name `
-InstanceName $deletedDatabase.ManagedInstanceName `
-ResourceGroupName $deletedDatabase.ResourceGroupName `
-DeletionDate $deletedDatabase.DeletionDate `
-PointInTime UTCDateTime `
-TargetInstanceDatabaseName $targetDatabaseName
لاستعادة قاعدة البيانات إلى مثيل آخر مُدار من قِبل SQL، حدد أيضاً أسماء مجموعة الموارد المستهدفة واستهداف SQL Managed Instance:
$targetResourceGroupName = "<Resource group of target SQL Managed Instance>"
$targetInstanceName = "<Target SQL Managed Instance name>"
Restore-AzSqlinstanceDatabase -FromPointInTimeBackup -Name $deletedDatabase.Name `
-InstanceName $deletedDatabase.ManagedInstanceName `
-ResourceGroupName $deletedDatabase.ResourceGroupName `
-DeletionDate $deletedDatabase.DeletionDate `
-PointInTime UTCDateTime `
-TargetInstanceDatabaseName $targetDatabaseName `
-TargetResourceGroupName $targetResourceGroupName `
-TargetInstanceName $targetInstanceName
الكتابة فوق قاعدة بيانات موجودة
للكتابة فوق قاعدة بيانات موجودة، يجب عليك:
- قم بإسقاط قاعدة البيانات الموجودة التي تريد الكتابة فوقها.
- أعد تسمية قاعدة البيانات المستعادة نقطة في وقت إلى اسم قاعدة البيانات التي أسقطتها.
قم بإسقاط قاعدة البيانات الأصلية
يمكنك إفلات قاعدة البيانات باستخدام مدخلMicrosoft Azure أو PowerShell أو Azure CLI.
يمكنك أيضاً إسقاط قاعدة البيانات عن طريق الاتصال بـ SQL Managed Instance مباشرة، وبدء SQL Server Management Studio (SSMS)، ثم تشغيل أمر Transact-SQL (T-SQL) التالي:
DROP DATABASE WorldWideImporters;
استخدم إحدى الطرق التالية للاتصال بقاعدة البيانات الخاصة بك في SQL Managed Instance:
في مدخل Microsoft Azure، حدد قاعدة البيانات من مثيل SQL المُدار، ثم حدد Delete.
قم بتعديل اسم قاعدة البيانات الجديدة لمطابقة اسم قاعدة البيانات الأصلي
اتصل مباشرة بـ SQL Managed Instance وابدأ SQL Server Management Studio. بعد ذلك، قم بتشغيل استعلام Transact-SQL (T-SQL) التالي. سيقوم الاستعلام بتغيير اسم قاعدة البيانات المستعادة إلى اسم قاعدة البيانات التي تم إسقاطها والتي تنوي الكتابة فوقها.
ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;
استخدم إحدى الطرق التالية للاتصال بقاعدة البيانات الخاصة بك في SQL Managed Instance:
الخطوات التالية
تعرف على معلومات حول النسخ الاحتياطية التلقائية.