إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتم استخدام Azure CLI لإنشاء موارد Azure وإدارتها من سطر الأوامر أو من خلال البرامج النصية. توضح هذه المقالة كيفية إجراء نسخ احتياطي لقاعدة بيانات SQL في Azure VM وتشغيل النسخ الاحتياطية عند الطلب باستخدام Azure CLI. يمكنك أيضا تنفيذ هذه الإجراءات باستخدام مدخل Microsoft Azure.
يفترض هذا المقال أن لديك قاعدة بيانات SQL مثبتة على جهاز Azure الافتراضي مسبقًا. (يمكنك أيضا إنشاء جهاز ظاهري باستخدام Azure CLI).
ستتعرف في هذه المقالة على كيفية:
- أنشئ مخزن خدمات الاسترداد
- تسجيل خادم SQL واكتشاف قاعدة (قواعد) البيانات عليه
- تمكين النسخ الاحتياطي على قاعدة بيانات SQL
- تشغيل نسخة احتياطية عند الطلب
راجع السيناريوهات المدعومة حاليا ل SQL في Azure VM.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع بدء استخدام Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محليا، فقم بتثبيت Azure CLI. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيتا محليا، فسجل الدخول إلى Azure CLI باستخدام الأمر az login . لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع المصادقة على Azure باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات حول الملحقات، راجع استخدام الملحقات وإدارتها باستخدام Azure CLI.
قم بتشغيل az version للعثور على الإصدار والمكتبات التابعة المثبتة. للترقية إلى أحدث إصدار، قم بتشغيل az upgrade.
أنشئ مخزن خدمات الاسترداد
يُعد مخزن Recovery Services حاوية منطقية تخزن بيانات النسخ الاحتياطي للموارد المحمية، على سبيل المثال أجهزة Azure الظاهرية. عند تشغيل مهمة النسخ الاحتياطي، فإنها تنشئ نقطة استعادة داخل مخزن Recovery Services. يمكنك بعد ذلك استخدام إحدى نقاط الاسترداد هذه لاستعادة البيانات إلى نقطة زمنية معينة.
إنشاء مخزن خدمات الاسترداد باستخدام الأمر az backup vault create . استخدم مجموعة الموارد وموقعها تمامًا مثل الجهاز الظاهري الذي ترغب في حمايته. تعرف على كيفية إنشاء جهاز ظاهري يعمل بنظام WindowsوLinux VM باستخدام Azure CLI.
لهذه المقالة، سنستخدم:
- مجموعة موارد تسمى SQLResourceGroup
- جهاز ظاهري يسمى testSQLVM
- الموارد في موقع westus2 .
قم بتشغيل الأمر التالي لإنشاء مخزن يسمى SQLVault.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
بشكل افتراضي، يتم تعيين مخزن خدمات الاستعادة لتخزين Geo-Redundant. يضمن التكرار الجغرافي تكرار البيانات الاحتياطية في منطقة Azure ثانوية، حتى لو كان على بعد مئات الأميال من المنطقة الرئيسية. إذا كان إعداد التكرار للتخزين بحاجة إلى تعديل، فاستخدم الأمر az backup vault backup-properties set .
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
للتحقق مما إذا تم إنشاء المخزن بنجاح، استخدم الأمر az backup vault list . تظهر الاستجابة على النحو التالي:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
تسجيل وحماية SQL Server
لتسجيل SQL Server مع مخزن خدمات الاسترداد، استخدم الأمر az backup container register . VMResourceId هو معرف المورد للجهاز الظاهري الذي قمت بإنشائه لتثبيت SQL.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
إشعار
إذا لم يكن الجهاز الظاهري موجودا في نفس مجموعة الموارد مثل المخزن، فإن SQLResourceGroup يستخدم مجموعة الموارد حيث تم إنشاء المخزن.
تسجيل خادم SQL تلقائياً يكتشف جميع قواعد البيانات الحالية الخاصة به. ومع ذلك، لاكتشاف أي قواعد بيانات جديدة قد تتم إضافتها في المستقبل، راجع قسم Discovering new databases added to the registered SQL server .
استخدم الأمر az backup container list للتحقق مما إذا كان مثيل SQL مسجلا بنجاح في المخزن الخاص بك. تظهر الاستجابة على النحو التالي:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
إشعار
يشير اسم العمود في الإخراج أعلاه إلى اسم الحاوية. يتم استخدام اسم الحاوية هذا في المقاطع التالية لتمكين النسخ الاحتياطية وتشغيلها. على سبيل المثال، VMAppContainer؛ حسب; SQLResourceGroup; testSQLVM.
تمكين النسخ الاحتياطي على قاعدة بيانات SQL
يسرد الأمر az backup protectable-item list جميع قواعد البيانات المكتشفة على مثيل SQL الذي قمت بتسجيله في الخطوة السابقة.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
يجب أن تجد قاعدة البيانات في هذه القائمة التي تريد نسخها احتياطياً والتي ستبدو كـ:
Name Protectable Item Type ParentName ServerName IsProtected
----------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;master SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;model SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;msdb SQLDataBase MSSQLServer testSQLVM NotProtected
الآن، قم بتكوين النسخ الاحتياطي ل sqldatabase؛ mssqlserver؛ قاعدة البيانات الرئيسية.
لتكوين النسخ الاحتياطية وحمايتها على قاعدة بيانات، واحدا تلو الآخر، استخدم الأمر az backup protection enable-for-azurewl . أدخل اسم النهج الذي تريد استخدامه. لإنشاء نهج باستخدام CLI، استخدم الأمر az backup policy create . بالنسبة لهذه المقالة، استخدمنا نهج testSQLPolicy .
az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqldatabase;mssqlserver;master" \
--protectable-item-type SQLDataBase \
--server-name testSQLVM \
--workload-type SQLDataBase \
--output table
يمكنك استخدام نفس الأمر، إذا كان لديك مجموعة قابلية وصول عالية التوفر AlwaysOn SQL وتريد تحديد مصدر البيانات القابل للحماية داخل مجموعة التوفر. هنا، نوع العنصر القابل للحماية هو SQLAG.
للتحقق مما إذا كان تكوين النسخ الاحتياطي أعلاه مكتملا، استخدم الأمر az backup job list . يظهر الإخراج على النحو التالي:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
يسرد الأمر az backup job list جميع مهام النسخ الاحتياطي (المجدولة أو عند الطلب) التي تم تشغيلها أو التي تعمل حاليا على قاعدة البيانات المحمية، بالإضافة إلى عمليات أخرى، مثل التسجيل وتكوين النسخ الاحتياطي وحذف بيانات النسخ الاحتياطي.
إشعار
لا يتم ضبط Azure Backup تلقائياً لتغييرات التوقيت الصيفي عند النسخ الاحتياطي لقاعدة بيانات SQL قيد التشغيل في أجهزة Azure الظاهرية.
تعديل النهج يدوياً حسب الحاجة.
تمكين الحماية التلقائية
لتكوين النسخ الاحتياطي السلس، يمكن حماية جميع قواعد البيانات المضافة في المستقبل تلقائيًا باستخدام نهج معين. لتمكين الحماية التلقائية، استخدم الأمر az backup protection auto-enable-for-azurewl .
نظرا لأن التعليمات هي إجراء نسخ احتياطي لجميع قواعد البيانات المستقبلية، يتم إجراء العملية على مستوى SQLInstance .
az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqlinstance;mssqlserver" \
--protectable-item-type SQLInstance \
--server-name testSQLVM \
--workload-type MSSQL\
--output table
تشغيل نسخة احتياطية عند الطلب
لتشغيل نسخة احتياطية عند الطلب، استخدم الأمر az backup protection backup-now .
إشعار
يتم تحديد فترة الاحتفاظ بهذه النسخة الاحتياطية حسب نوع النسخ الاحتياطي عند الطلب الذي قمت بتشغيله.
- يحتفظ كامل عند الطلب بالنسخ الاحتياطية لمدة لا تقل عن 45 يوما وبحد أقصى 99 عاما.
- تقبل النسخة الكاملة عند الطلب فقط أي قيمة للاحتفاظ بها.
- يحتفظ التفاضلي عند الطلب بالنسخ الاحتياطي وفقا للاحتفاظ بالفوارق المجدولة المحددة في النهج.
- يحتفظ السجل عند الطلب بالنسخ الاحتياطية وفقا للاحتفاظ بالسجلات المجدولة المحددة في النهج.
az backup protection backup-now --resource-group SQLResourceGroup \
--item-name sqldatabase;mssqlserver;master \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--backup-type Full
--retain-until 01-01-2040
--output table
يظهر الإخراج على النحو التالي:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
ستوفر الاستجابة اسم المهمة. يمكنك استخدام اسم الوظيفة هذا لتعقب حالة الوظيفة باستخدام الأمر az backup job show .
الخطوات التالية
- تعرف على كيفية استعادة قاعدة بيانات SQL في Azure VM باستخدام CLI.
- تعرف على كيفية إجراء نسخ احتياطي لقاعدة بيانات SQL قيد التشغيل في Azure VM باستخدام مدخل Microsoft Azure.
المحتوى ذو الصلة
- قم بنسخ قواعد بيانات خادم SQL احتياطيا في أجهزة Azure الظاهرية باستخدام Azure Backup عبر REST API.
- استعادة قواعد بيانات SQL Server في أجهزة Azure الظاهرية باستخدام واجهة برمجة تطبيقات REST.
- إدارة قواعد بيانات خادم SQL في أجهزة Azure الظاهرية باستخدام مدخل AzureوAzure CLIوواجهة برمجة تطبيقات REST.