ترحيل: SQL Server إلى المثيل المدار SQL المدعوم من Azure Arc
يرشدك هذا السيناريو خلال خطوات ترحيل قاعدة بيانات من مثيل SQL Server إلى مثيل Azure SQL مدار في Azure Arc عبر طريقتين مختلفتين للنسخ الاحتياطي والاستعادة.
Use Azure blob storage
استخدم تخزين Azure blob للترحيل إلى المثيل المدار SQL المدار الذي تم تمكين Azure Arc.
تستخدم هذه الطريقة Azure Blob Storage كموقع تخزين مؤقت يمكنك نسخه احتياطيا ثم الاستعادة منه.
المتطلبات الأساسية
-
في هذا الوقت، استخدِم الإصدارات الخاصة بـ Azure Data Studio.
اشتراك Azure
الخطوة 1: توفير تخزين Azure blob
- اتبع الخطوات الموضحة في إنشاء حساب Azure Blob Storage
- Launch Azure Storage Explorer
- تسجيل الدخول إلى Azure للوصول إلى وحدة تخزين blob التي تم إنشاؤها في الخطوة السابقة
- انقر بزر الماوس الأيمن فوق حساب تخزين blob وحدد إنشاء حاوية Blob لإنشاء حاوية جديدة حيث سيتم تخزين ملف النسخ الاحتياطي
الخطوة 2: الحصول على بيانات اعتماد نقطة التخزين
في Azure Storage Explorer، انقر بزر الماوس الأيمن فوق حاوية blob التي تم إنشاؤها للتو وحدد الحصول على توقيع الوصول المشترك
حدد القراءةوالكتابةوالقائمة
حدد Create
لاحظ عنوان URI وسلسلة الاستعلام من هذه الشاشة. ستكون هناك حاجة إلى هذه في خطوات لاحقة. انقر فوق الزر نسخ للحفظ في المفكرة / OneNote وما إلى ذلك.
أغلق نافذة توقيع الوصول المشترك .
الخطوة 3: النسخ الاحتياطي لملف قاعدة البيانات إلى Azure Blob Storage
في هذه الخطوة، سنتصل بالمصدر SQL Server وننشئ ملف النسخ الاحتياطي لقاعدة البيانات التي نريد ترحيلها إلى SQL المثيل المدار - Azure Arc.
Launch Azure Data Studio
الاتصال إلى مثيل SQL Server الذي يحتوي على قاعدة البيانات التي تريد ترحيلها إلى مثيل SQL المدار - Azure Arc
انقر بزر الماوس الأيمن فوق قاعدة البيانات وحدد استعلام جديد
قم بإعداد الاستعلام بالتنسيق التالي ليحل محل العناصر النائبة
<...>المشار إليها باستخدام المعلومات من توقيع الوصول المشترك في الخطوات السابقة. بمجرد استبدال القيم، قم بتشغيل الاستعلام.IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';وبالمثل، قم بإعداد الأمر BACKUP DATABASE كما يلي لإنشاء ملف نسخ احتياطي إلى حاوية blob. بمجرد استبدال القيم، قم بتشغيل الاستعلام.
BACKUP DATABASE <database name> TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'افتح Azure Storage Explorer وتحقق من أن ملف النسخ الاحتياطي الذي تم إنشاؤه في الخطوة السابقة مرئي في حاوية Blob
مزيد من المعلومات حول النسخ الاحتياطي إلى عنوان URL هنا:
SQL Server النسخ الاحتياطي والاستعادة باستخدام Azure Blob Storage
النسخ الاحتياطي إلى عنوان URL باستخدام SQL Server Management Studio (SSMS)
الخطوة 4: استعادة قاعدة البيانات من تخزين Azure blob إلى SQL المثيل المدار - Azure Arc
من Azure Data Studio، قم بتسجيل الدخول والاتصال SQL المثيل المدار - Azure arc.
قم بتوسيع قواعد بيانات النظام ، وانقر بزر الماوس الأيمن فوق قاعدة البيانات الرئيسية وحدد استعلام جديد.
في نافذة محرر الاستعلام، قم بإعداد الاستعلام نفسه وتشغيله من الخطوة السابقة لإنشاء بيانات الاعتماد.
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';قم بإعداد الأمر أدناه وتشغيله للتحقق من أن ملف النسخ الاحتياطي قابل للقراءة وسليم.
RESTORE FILELISTONLY FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'إعداد الأمر RESTORE DATABASE وتشغيله على النحو التالي لاستعادة ملف النسخ الاحتياطي إلى قاعدة بيانات على مثيل مدار SQL - Azure Arc
RESTORE DATABASE <database name> FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak' WITH MOVE 'Test' to '/var/opt/mssql/data/<file name>.mdf' ,MOVE 'Test_log' to '/var/opt/mssql/data/<file name>.ldf' ,RECOVERY ,REPLACE ,STATS = 5; GO
الطريقة 2: نسخ ملف النسخ الاحتياطي إلى مثيل Azure SQL المدار - Azure Arc pod باستخدام kubectl
توضح لك هذه الطريقة كيفية أخذ ملف نسخ احتياطي تقوم بإنشائه عبر أي طريقة ثم نسخه إلى وحدة تخزين محلية في Azure SQL pod المدار حتى تتمكن من الاستعادة من هناك تماما كما تفعل على نظام ملفات نموذجي على Windows أو Linux. في هذا السيناريو، سوف تستخدم الأمر kubectl cp لنسخ الملف من مكان واحد إلى نظام ملفات جراب.
المتطلبات الأساسية
- تثبيت kubectl وتكوينه للإشارة إلى مجموعة Kubernetes حيث يتم نشر خدمات بيانات Azure Arc
- قم بتثبيت أداة مثل Azure Data Studio أو SQL Server Management Server وتوصيلها SQL Server حيث تريد إنشاء ملف النسخ الاحتياطي أو لديك ملف .bak موجود تم إنشاؤه بالفعل على نظام الملفات المحلي.
الخطوة 1: النسخ الاحتياطي لقاعدة البيانات إذا لم تكن قد قمت بذلك بالفعل
النسخ الاحتياطي لقاعدة بيانات SQL Server إلى مسار الملف المحلي الخاص بك مثل أي نسخة احتياطية نموذجية SQL Server إلى القرص:
BACKUP DATABASE Test
TO DISK = 'C:\Backupfiles\test.bak'
WITH FORMAT, MEDIANAME = 'Test' ;
GO
الخطوة 2: نسخ ملف النسخ الاحتياطي إلى نظام ملفات pod
ابحث عن اسم pod حيث يتم نشر مثيل sql. عادة ما يجب أن تبدو وكأنها pod/<sqlinstancename>-0
احصل على قائمة بجميع القرون عن طريق تشغيل:
kubectl get pods -n <namespace of data controller>
مثال:
انسخ ملف النسخ الاحتياطي من وحدة التخزين المحلية إلى جراب sql في المجموعة.
kubectl cp <source file location> <pod name>:var/opt/mssql/data/<file name> -n <namespace name>
#Example:
kubectl cp C:\Backupfiles\test.bak sqlinstance1-0:var/opt/mssql/data/test.bak -n arc
الخطوة 3: استعادة قاعدة البيانات
إعداد الأمر RESTORE وتشغيله لاستعادة ملف النسخ الاحتياطي إلى المثيل المدار SQL Azure - Azure Arc
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/<file name>.bak'
WITH MOVE '<database name>' to '/var/opt/mssql/data/<file name>.mdf'
,MOVE '<database name>' to '/var/opt/mssql/data/<file name>_log.ldf'
,RECOVERY
,REPLACE
,STATS = 5;
GO
مثال:
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/test.bak'
WITH MOVE 'test' to '/var/opt/mssql/data/test.mdf'
,MOVE 'test' to '/var/opt/mssql/data/test_log.ldf'
,RECOVERY
,REPLACE
,STATS = 5;
GO
الخطوات التالية
تعرف على المزيد حول ميزات وإمكانات المثيل المدار SQL المدعوم من Azure Arc
هل قمت بإنشاء وحدة تحكم بيانات بالفعل؟ ما المقصود بمثيل SQL المُدار والمُمكّن بواسطة Azure Arc