استعادة قواعد بيانات SQL Server على أجهزة Azure الظاهرية
توضح هذه المقالة كيفية استعادة قاعدة بيانات SQL Server التي يتم تشغيلها على جهاز Azure الظاهري (VM) الذي قامت خدمة Azure Backup بنسخه احتياطياً إلى مخزن Azure Backup Recovery Services.
توضح هذه المقالة كيفية استعادة قواعد بيانات SQL Server. لمزيد من المعلومات، راجع Back up SQL Server databases on Azure VMs.
إشعار
راجع مصفوفة دعم النسخ الاحتياطي لـ SQL لمعرفة المزيد حول التكوينات والسيناريوهات المدعومة.
استعادة إلى الوقت أو نقطة الاسترداد
يمكن لـ Azure Backup استعادة قواعد بيانات SQL Server التي تعمل على أجهزة Azure الظاهرية على النحو التالي:
- قم بالاستعادة إلى تاريخ أو وقت محدد (إلى الثاني) باستخدام النسخ الاحتياطي للسجل. يحدد Azure Backup النسخ الاحتياطي التفاضلي الكامل المناسب وسلسلة نسخ السجل الاحتياطية المطلوبة للاستعادة بناءً على الوقت المحدد تلقائياً.
- قم باستعادة نسخة احتياطية كاملة أو تفاضلية محددة لاستعادة نقطة استرداد محددة.
استعادة المتطلبات الأساسية
قبل استعادة قاعدة بيانات، لاحظ ما يلي:
- يمكنك استعادة قاعدة البيانات إلى مثيل SQL Server في نفس منطقة Azure.
- يجب أن يكون الخادم الوجهة مسجلاً في نفس المخزن مثل المصدر. إذا كنت ترغب في استعادة النسخ الاحتياطية إلى مخزن مختلف، فمكن Cross Subscription Restore.
- إذا كان لديك مثيلات متعددة قيد التشغيل على الخادم، فيجب أن تكون جميع المثيلات قيد التشغيل. دون القيام بذلك لن يظهر الخادم في قائمة الخوادم الوجهة لاستعادة قاعدة البيانات إليها. لمزيد من المعلومات، راجع the troubleshooting steps.
- لاستعادة قاعدة بيانات TDE مشفرة إلى SQL Server آخر، تحتاج أولاً إلى استعادة الشهادة إلى الملقم الوجهة.
- يجب استعادة قواعد البيانات الممكّنة من CDC باستخدام الخيار الاستعادة كملفات.
- نوصي بشدة استعادة قاعدة البيانات "الرئيسية" باستخدام خيار Restore as files ثم الاستعادة باستخدام أوامر T-SQL.
- لتهيئة جميع قواعد بيانات النظام (النموذج، msdb)، أوقف خدمة SQL Server Agent قبل تشغيل خاصية الاستعادة.
- أغلق أي تطبيقات قد تحاول الاتصال بأي من قواعد البيانات هذه.
- بالنسبة لقواعد البيانات الرئيسية، لا يتم دعم خيار الموقع البديل للاستعادة. نوصي باستعادة قاعدة البيانات الرئيسية باستخدام الخيار استعادة كملفات ، ثم الاستعادة باستخدام
T-SQL
الأوامر. - بالنسبة إلى و، يتم دعم خيار الموقع البديل للاستعادة فقط عندما يختلف اسم قاعدة البيانات المستعادة عن اسم قاعدة البيانات
model
الهدف.msdb
إذا كنت تريد استعادة نفس الاسم باستخدام قاعدة البيانات الهدف، نوصيك بالاستعادة باستخدام الخيار استعادة كملفات ، ثم الاستعادة باستخدامT-SQL
الأوامر.
استعادة قاعدة بيانات
للاستعادة، تحتاج إلى الأذونات التالية:
- أذونات عامل تشغيل النسخ الاحتياطي في المخزن الذي تنفذ فيه عملية الاستعادة.
- وصول المُشارك (الكتابة) إلى الجهاز الظاهري المصدر الذي يتم نسخه احتياطيًا.
- وصول المساهم (الكتابة) إلى الجهاز الظاهري الهدف:
- إذا كنت تنفذ عملية الاستعادة على نفس الجهاز الظاهري، فيكون ذلك هو الجهاز الظاهري المصدر.
- إذا كنت تنفذ عملية الاستعادة على موقع بديل، فيكون ذلك هو الجهاز الظاهري الهدف.
الاستعادة كما يلي:
في مدخل Microsoft Azure، انتقل إلى Backup center وانقر فوق Restore.
حدد SQL في Azure VM كنوع مصدر البيانات، وحدد قاعدة بيانات لاستعادتها، ثم انقر فوق Continue.
في Restore Configuration، حدد مكان (أو كيفية) استعادة البيانات:
الموقع البديل: استعادة قاعدة البيانات إلى موقع بديل والاحتفاظ بقاعدة البيانات المصدر الأصلية.
الكتابة فوق قاعدة البيانات: استعادة البيانات إلى نفس مثيل SQL Server كالمصدر الأصلي. يقوم هذا الخيار بتجاوز قاعدة البيانات الأصلية.
هام
إذا كانت قاعدة البيانات المحددة تنتمي إلى مجموعة من مجموعات قابلية وصول عالية التوفر AlwaysOn المتوفرة، فلن يسمح SQL Server بالكتابة فوق قاعدة البيانات. يتوفر فقط الموقع البديل.
الاستعادة كملفات: بدلاً من الاستعادة كقاعدة بيانات، قم باستعادة ملفات النسخ الاحتياطي التي يمكن استردادها كقاعدة بيانات لاحقاً على أي جهاز حيث توجد الملفات باستخدام SQL Server Management Studio.
الاستعادة إلى موقع بديل
في قائمة Restore Configuration، ضمن Where to Restore، حدد Alternate Location.
حدد اسم SQL Server والمثيل الذي تريد استعادة قاعدة البيانات إليه.
في المربع Restored DB Name أدخل اسم قاعدة البيانات الهدف.
إن أمكن، حدد Overwrite if the DB with the same name already exists on selected SQL instance.
حدد Restore Point، وحدد ما إذا كنت تريد الاستعادة إلى نقطة زمنية معينة أو الاستعادة إلى نقطة استرداد معينة.
في قائمة Advanced Configuration:
إذا كنت تريد الاحتفاظ بقاعدة البيانات غير عاملة بعد الاستعادة، فقم بتمكين الاستعادة باستخدام NORECOVERY.
إذا كنت تريد تغيير موقع الاستعادة على الخادم الوجهة، أدخل مسارات هدف جديدة.
حدد OK لتشغيل الاستعادة. تتبع تقدم الاستعادة في منطقة الإعلامات، أو تتبعها ضمن عرض مهام النسخ الاحتياطي في المخزن.
إشعار
لا تتوفر الاستعادة في الوقت المحدد إلا للنسخ الاحتياطية للسجلات الخاصة بقواعد البيانات الموجودة في وضع الاسترداد الكامل والمسجل المجمع.
الاسترداد والشطب
في قائمة Restore Configuration، ضمن Where to Restore، حدد Overwrite DB>OK.
في Select restore point، حدد Logs (Point in Time) من أجل استعادة نقطة زمنية معينة. أو حدد Full & Differential للاستعادة إلى نقطة استرداد معينة.
إشعار
لا تتوفر الاستعادة في الوقت المحدد إلا للنسخ الاحتياطية للسجلات الخاصة بقواعد البيانات الموجودة في وضع الاسترداد الكامل والمسجل المجمع.
استرداد كملفات
لاستعادة بيانات النسخة الاحتياطية كملفات .bak بدلاً من قاعدة بيانات، اختر Restore as Files. بمجرد تفريغ الملفات إلى مسار محدد، يمكنك نقل هذه الملفات إلى أي جهاز تريد استعادتها إليه كقاعدة بيانات. نظراً لأنه يمكنك نقل هذه الملفات إلى أي جهاز، يمكنك الآن استعادة البيانات عبر الاشتراكات والمناطق.
ضمن Where and how to Restore، حدد Restore as files.
حدد اسم SQL Server الذي تريد استعادة ملفات النسخ الاحتياطية إليه.
في Destination path on the server أدخل مسار المجلد على الخادم المحدد في الخطوة 2. هذا هو الموقع الذي ستقوم الخدمة فيه بتفريغ جميع ملفات النسخ الاحتياطي الضرورية. بشكل عام، مسار مشاركة شبكة اتصال أو مسار مشاركة ملف Azure المحملة عند تحديد مسار الوجهة، يتيح الوصول إلى هذه الملفات بسهولة بواسطة أجهزة أخرى في نفس الشبكة أو مع نفس مشاركة ملف Azure المحملة عليها.
إشعار
لاستعادة ملفات النسخ الاحتياطي لقاعدة البيانات في Azure File Share المُثبت على الجهاز الظاهري المسجل الهدف، تأكد من أن NT AUTHORITY\SYSTEM لديه حق الوصول إلى مشاركة الملف. يمكنك تنفيذ الخطوات الواردة أدناه لمنح أذونات القراءة/الكتابة إلى AFS المثبت على الجهاز الظاهري:
- تشغيل
PsExec -s cmd
للدخول في NT AUTHORITY\SYSTEM shell- تنفيذ
cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
- تحقق من الوصول باستخدام
dir \\<storageacct>.file.core.windows.net\<filesharename>
- تنفيذ
- ابدأ عملية الاستعادة كملفات من Backup Vault إلى
\\<storageacct>.file.core.windows.net\<filesharename>
كمسار
يمكنك تنزيل PsExec من صفحة Sysinternals.
- تشغيل
حدد موافق.
حدد Restore Point، وحدد ما إذا كنت تريد الاستعادة إلى نقطة زمنية معينة أو الاستعادة إلى نقطة استرداد معينة.
عند إجراء استعادة نقطة زمنية لقاعدة بيانات SQL باستخدام استعادة كملفات، فإنه سيتم تخزين جميع نقاط الاسترداد من النسخ الاحتياطي الكامل إلى نقطة زمنية محددة. ثم يمكنك الاستعادة باستخدام هذه الملفات كقاعدة بيانات على أي جهاز موجود باستخدام SQL Server Management Studio.
الاستعادة إلى نقطة زمنية معينة
إذا قمت بتحديد Logs (Point in Time) كنوع استعادة، فقم بما يلي:
ضمن Restore Date/Time، افتح التقويم. في التقويم، يتم عرض التواريخ التي تحتوي على نقاط استرداد بخط عريض، ويتم تمييز التاريخ الحالي.
حدد تاريخاً يحتوي على نقاط استرداد. لا يمكنك تحديد التواريخ التي لا تحتوي على نقاط استرداد.
بعد تحديد التاريخ، يعرض الرسم البياني للخط الزمني نقاط الاسترداد المتاحة في نطاق مستمر.
حدد وقتاً للاسترداد على الرسم البياني للخط الزمني، أو حدد وقتاً. ثم حدد موافق.
استعادة جزئية لملفات
تقرر خدمة Azure Backup سلسلة الملفات التي سيتم تنزيلها أثناء الاستعادة كملفات. ولكن هناك سيناريوهات قد لا ترغب فيها في تنزيل المحتوى بأكمله مرة أخرى.
على سبيل المثال، عندما يكون لديك نهج النسخ الاحتياطي الكامل الأسبوعي والتفاضلات اليومية والسجلات، وقمت بالفعل بتنزيل الملفات لتفاضلية معينة. لقد وجدت أن هذه ليست نقطة الاسترداد الصحيحة وقررت تنزيل التفاضلية في اليوم التالي. الآن تحتاج فقط إلى الملف التفاضلي نظرًا لأن لديك بالفعل البداية كاملة. مع القدرة على الاستعادة الجزئية كملفات، التي يوفرها Azure Backup، يمكنك الآن استبعاد الكامل من سلسلة التنزيل وتنزيل التفاضلي فقط.
باستثناء أنواع ملفات النسخ الاحتياطي
ExtensionSettingsOverrides.json هو ملف JSON (JavaScript Object Notation) يحتوي على تجاوزات لإعدادات متعددة لخدمة Azure Backup ل SQL. لعملية "الاستعادة الجزئية كملفات"، يجب إضافة حقل RecoveryPointTypesToBeExcludedForRestoreAsFiles
JSON جديد. يحتوي هذا الحقل على قيمة سلسلة تشير إلى أنواع نقاط الاسترداد التي يجب استبعادها في عملية الاستعادة التالية كملفات.
في الجهاز الهدف حيث سيتم تنزيل الملفات، انتقل إلى مجلد "C:\Program Files\Azure Workload Backup\bin"
إنشاء ملف JSON جديد يسمى "ExtensionSettingsOverrides.JSON"، إذا لم يكن موجودا بالفعل.
إضافة زوج قيمة مفتاح JSON التالي
{ "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull" }
لا يلزم إعادة تشغيل أي خدمة. ستحاول خدمة Azure Backup استبعاد أنواع النسخ الاحتياطي في سلسلة الاستعادة كما هو مذكور في هذا الملف.
RecoveryPointTypesToBeExcludedForRestoreAsFiles
يأخذ فقط قيمًا محددة تشير إلى نقاط الاسترداد التي سيتم استبعادها أثناء الاستعادة. بالنسبة إلى SQL، هذه القيم هي:
- ExcludeFull (سيتم تنزيل أنواع النسخ الاحتياطي الأخرى مثل التفاضلية والسجلات، إذا كانت موجودة في سلسلة نقاط الاستعادة)
- ExcludeFullAndDifferential (سيتم تنزيل أنواع النسخ الاحتياطي الأخرى مثل السجلات، إذا كانت موجودة في سلسلة نقاط الاستعادة)
- ExcludeFullAndIncremental (سيتم تنزيل أنواع النسخ الاحتياطي الأخرى مثل السجلات، إذا كانت موجودة في سلسلة نقاط الاستعادة)
- ExcludeFullAndDifferentialAndIncremental (سيتم تنزيل أنواع النسخ الاحتياطي الأخرى مثل السجلات، إذا كانت موجودة في سلسلة نقاط الاستعادة)
الاسترداد إلى نقطة استرداد معينة
إذا حددت Full & Differential كنوع الاستعادة، فقم بما يلي:
حدد نقطة استرداد من القائمة، وحدد OK لإكمال إجراء نقطة الاسترداد.
إشعار
يتم عرض نقاط الاسترداد من آخر 30 يوماً بشكل افتراضي. يمكنك عرض نقاط الاسترداد الأقدم من 30 يوماً عن طريق تحديد Filter وتحديد نطاق مخصص.
استعادة قواعد البيانات التي تحتوي على عدد كبير من الملفات
إذا كان الحجم الإجمالي لسلسلة الملفات في قاعدة البيانات أكبر من حد معين، تقوم Azure Backup بتخزين قائمة ملفات قاعدة البيانات في مكون حفرة مختلف بحيث لا يمكنك تعيين مسار الاستعادة الهدف أثناء عملية الاستعادة. ستتم استعادة الملفات إلى مسار SQL الافتراضي بدلاً من ذلك.
استرداد قاعدة بيانات من ملف .bak باستخدام SSMS
يمكنك استخدام عملية الاستعادة كملفات لاستعادة ملفات قاعدة البيانات بالتنسيق .bak
أثناء الاستعادة من مدخل Microsoft Azure. اعرف المزيد.
عند اكتمال استعادة .bak
الملف إلى الجهاز الظاهري Azure، يمكنك تشغيل الاستعادة باستخدام أوامر TSQL من خلال SSMS.
لاستعادة ملفات قاعدة البيانات إلى المسار الأصلي على الخادم المصدر، قم بإزالة العبارة MOVE
من استعلام استعادة TSQL.
مثال
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>'
إشعار
يجب ألا يكون لديك نفس ملفات قاعدة البيانات على الخادم الهدف (استعادة مع استبدال). يمكنك أيضا تمكين تهيئة الملفات الفورية على الخادم الهدف لتقليل الحمل الزائد لوقت تهيئة الملف.
لنقل ملفات قاعدة البيانات من خادم الاستعادة الهدف، يمكنك وضع إطار لأمر TSQL باستخدام MOVE
العبارات.
USE [master]
RESTORE DATABASE [<DBName>] FROM DISK = N'<.bak file path>' MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>', MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO
مثال
USE [master]
RESTORE DATABASE [test] FROM DISK = N'J:\dbBackupFiles\test.bak' WITH FILE = 1, MOVE N'test' TO N'F:\data\test.mdf', MOVE N'test_log' TO N'G:\log\test_log.ldf', NOUNLOAD, STATS = 5
GO
إذا كان هناك أكثر من ملفين لقاعدة البيانات، يمكنك إضافة عبارات إضافية MOVE
إلى استعلام الاستعادة. يمكنك أيضا استخدام SSMS لاسترداد قاعدة البيانات باستخدام .bak
الملفات. اعرف المزيد.
إشعار
لاسترداد قاعدة البيانات الكبيرة، نوصيك باستخدام عبارات TSQL. إذا كنت تريد نقل ملفات قاعدة البيانات المحددة، فشاهد قائمة ملفات قاعدة البيانات بتنسيق JSON الذي تم إنشاؤه أثناء عملية استعادة كملفات .
استعادة عبر المنطقة
تسمح لك الاستعادة عبر المناطق (CRR) باستعادة قواعد بيانات SQL المستضافة على Azure VMs في منطقة ثانوية، وهي منطقة Azure المقترنة كأحد خيارات الاستعادة.
لإعداد الميزة، اقرأ قسم Before You Begin section.
لمعرفة ما إذا تم تمكين CRR، اتبع الإرشادات الموجودة في Configure Cross Region Restore
عرض عناصر النسخ الاحتياطي في المنطقة الثانوية
إذا تم تمكين CRR، يمكنك عرض عناصر النسخ الاحتياطي في المنطقة الثانوية.
- من المدخل، انتقل إلى مخزن خدمات الاسترداد>عناصر النسخ الاحتياطي.
- حدد "Secondary Region" لعرض العناصر في المنطقة الثانوية.
إشعار
سيتم عرض أنواع إدارة النسخ الاحتياطي التي تدعم ميزة CRR فقط في القائمة. يُسمح حالياً فقط بدعم استعادة بيانات المنطقة الثانوية إلى منطقة ثانوية.
الاستعادة في المنطقة الثانوية
ستكون تجربة المستخدم مع استعادة المنطقة الثانوية مشابهة لتجربة المستخدم مع استعادة المنطقة الأساسية. عند تكوين التفاصيل في جزء "Restore Configuration" لتكوين الاستعادة، سيُطلب منك تقديم معلمات المنطقة الثانوية فقط. يجب أن يوجد مخزن في المنطقة الثانوية ويجب أن يتم تسجيل خادم SQL في المخزن في المنطقة الثانوية.
إشعار
- بعد بدء الاستعادة وفي مرحلة نقل البيانات، لا يمكن إلغاء مهمة الاستعادة.
- مستوى الدور/ الوصول المطلوب لأداء عملية الاستعادة في المناطق المشتركة هو دور مشغل النسخ الاحتياطي في الاشتراك والوصول للمساهم (كتابة) على الأجهزة الظاهرية المصدر والهدف. لعرض مهام النسخ الاحتياطي، قارئ النسخ الاحتياطي هو الحد الأدنى للإذن المطلوب في الاشتراك.
- RPO لبيانات النسخ الاحتياطي لتكون متاحة في المنطقة الثانوية هو 12 ساعة. لذلك، عند تشغيل CRR، يكون RPO للمنطقة الثانوية هو 12 ساعة + مدة تكرار السجل (التي يمكن تعيينها إلى 15 دقيقة كحد أدنى).
تعرف على الحد الأدنى لمتطلبات الدور للاستعادة عبر المناطق.
مراقبة المنطقة الثانوية واستعادة الوظائف
في مدخل Microsoft Azure، انتقل إلى Backup center>Backup Jobs.
عملية التصفية لـ CrossRegionRestore من أجل عرض الوظائف في المنطقة الثانوية.
استعادة الاشتراكات المتقاطعة
يسمح لك Azure Backup الآن باستعادة قاعدة بيانات SQL إلى أي اشتراك (وفقا لمتطلبات Azure RBAC التالية) من نقطة الاستعادة. بشكل افتراضي، يستعيد Azure Backup إلى نفس الاشتراك حيث تتوفر نقاط الاستعادة.
مع الاستعادة عبر الاشتراك (CSR)، لديك مرونة الاستعادة إلى أي اشتراك وأي مخزن ضمن المستأجر الخاص بك إذا كانت أذونات الاستعادة متوفرة. بشكل افتراضي، يتم تمكين CSR على جميع مخازن خدمات الاسترداد (المخازن الموجودة والمنشأة حديثا).
إشعار
- يمكنك تشغيل الاستعادة عبر الاشتراك من مخزن خدمات الاسترداد.
- يتم دعم CSR فقط للنسخ الاحتياطي المستند إلى الدفق ولا يتم دعمه للنسخ الاحتياطي المستند إلى اللقطة.
- الاستعادة الإقليمية المتقاطعة (CRR) مع CSR غير مدعومة.
متطلبات التحكم في الوصول استنادا إلى الدور في Azure
نوع العملية | عامل تشغيل النسخ الاحتياطي | مخزن خدمات الاسترداد | عامل تشغيل بديل |
---|---|---|---|
استعادة قاعدة البيانات أو الاستعادة كملفات | Virtual Machine Contributor |
مصدر الجهاز الظاهري الذي تم نسخه احتياطياً | بدلا من دور مضمن، يمكنك التفكير في دور مخصص له الأذونات التالية: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
Virtual Machine Contributor |
الجهاز الظاهري الهدف الذي سيتم فيه استعادة قاعدة البيانات أو إنشاء الملفات. | بدلا من دور مضمن، يمكنك التفكير في دور مخصص له الأذونات التالية: - Microsoft.Compute/virtualMachines/write - Microsoft.Compute/virtualMachines/read |
|
Backup Operator |
مخزن خدمات الاسترداد الهدف |
بشكل افتراضي، يتم تمكين CSR على مخزن خدمات الاسترداد. لتحديث إعدادات استعادة مخزن خدمات الاسترداد، انتقل إلى Properties>Cross Subscription Restore وقم بإجراء التغييرات المطلوبة.
الخطوات التالية
إدارة ومراقبة قواعد بيانات SQL Server التي تم نسخها احتياطياً بواسطة Azure Backup.