كيفية استيراد قاعدة بيانات تجريبية إلى خادم AWS RDS Microsoft SQL Server باستخدام S3

دقائق القراءة: 4

مقدمة: استكشاف قواعد البيانات التجريبية على AWS RDS SQL Server

يواجه العديد من المطورين وخبراء قواعد البيانات صعوبة في إيجاد طريقة سهلة وفعالة لاستكشاف قواعد البيانات التجريبية (sample databases) ضمن بيئة AWS RDS Microsoft SQL Server. يهدف هذا الدليل إلى تبسيط هذه العملية، موفرًا خطوات واضحة ومفصلة لاستيراد قاعدة بيانات تجريبية باستخدام خدمة التخزين السحابي Amazon S3. نأمل أن تجد هذا الشرح مفيدًا للغاية في مشاريعك.

إذا لم تكن قد قمت بإعداد خادم AWS RDS Microsoft SQL Server الخاص بك أو أداة Azure Data Studio بعد، فننصحك بالاطلاع على هذا الدليل أولاً: How to Connect your AWS RDS Microsoft SQL Server using Azure Data Studio.

سنغطي في هذا الدليل التقنيات والمكونات الأساسية التالية:

  • قاعدة البيانات: AWS RDS Microsoft SQL Server Express Edition
  • أداة قاعدة البيانات والواجهة الرسومية: Azure Data Studio
  • نسخة احتياطية لقاعدة بيانات تجريبية: Amazon S3 Bucket

مخطط يوضح التقنيات المستخدمة في عملية استيراد قاعدة بيانات SQL Server إلى AWS RDS عبر S3

الحصول على نسخة احتياطية من قاعدة بيانات AdventureWorks التجريبية

تُعد قاعدة بيانات AdventureWorks خيارًا ممتازًا للاستكشاف والتعلم. للحصول على إصدارات OLTP من AdventureWorks، تفضل بزيارة هذا الرابط واختر أي قاعدة بيانات تجريبية تناسبك. في هذا المثال، سنختار ملف AdventureWorks2017.bak. سنقوم لاحقًا بتحميل هذا الملف إلى سلة S3 Bucket.

إعداد سلة Amazon S3

إنشاء سلة S3

ابدأ بإنشاء سلة تخزين جديدة (bucket) في خدمة Amazon S3. يمكنك اختيار أي اسم للسلة (على سبيل المثال: yourname-sample-dbs)، ولكن تأكد من أن الاسم فريد عالميًا.

واجهة إنشاء سلة تخزين S3 جديدة في AWS مع حقل اسم السلة

من الضروري جدًا أن تكون المنطقة الجغرافية (Region) لسلة S3 هي نفسها المستخدمة لمثيل AWS RDS الخاص بك لضمان أفضل أداء وتجنب مشاكل الاتصال.

تحديد المنطقة الجغرافية لسلة S3 لتتوافق مع منطقة مثيل AWS RDS

لتعزيز الأمان، تأكد من تحديد مربعات الاختيار التالية لحظر الوصول العام إلى السلة والكائنات:

  • Block public access to buckets and objects granted through new access control lists (ACLs)
  • Block public access and objects granted through any access control lists (ACLs)

خيارات حظر الوصول العام لسلة S3 لتعزيز الأمان

بعد إنشاء السلة، قم بالوصول إليها مرة أخرى بالنقر على اسمها.

عرض سلة S3 المنشأة حديثًا وجاهزة لتحميل الملفات

تحميل ملف قاعدة البيانات إلى سلة S3

انقر على زر Upload لبدء عملية التحميل.

زر تحميل الملفات إلى سلة S3 في واجهة AWS

اختر ملف النسخ الاحتياطي لقاعدة البيانات، على سبيل المثال: AdventureWorks2017.bak. تابع النقر على Next واختر Upload في قسم المراجعة (Review).

شاشة مراجعة تحميل ملف قاعدة البيانات إلى S3 قبل التأكيد

تحديث سياسة السلة (Bucket Policy)

لتسمح لمثيل RDS بالوصول إلى سلة S3، ستحتاج إلى تحديث سياسة السلة (Bucket Policy). لاحظ أن قيمة ARN (Amazon Resource Name) ستختلف عن المثال الموضح. بعد التعديل، انقر على Save.

{ 
  "Version" : "2012-10-17" ,
  "Id" : "Policy1548223592786" ,
  "Statement" : [
    { 
      "Sid" : "Stmt1548223591553" ,
      "Effect" : "Allow" ,
      "Principal" : "*" ,
      "Action" : "s3:GetObject" ,
      "Resource" : "arn:aws:s3:::changethis/*"
    }
  ]
}

تعديل سياسة السلة (Bucket Policy) في S3 للسماح بالوصول إلى الكائنات

إعداد AWS RDS – SQL Server Express

إنشاء مجموعة خيارات (Option Group) لمثيل RDS

انقر على Option groups في لوحة تحكم AWS RDS.

واجهة مجموعات الخيارات (Option Groups) في AWS RDS

قم بإنشاء مجموعة خيارات جديدة. اختر أي اسم ووصف لها. بالنسبة للمحرك (Engine)، يجب أن يتطابق مع محرك مثيل RDS الخاص بك. في مثالنا، استخدمنا SQL Server Express Edition، لذا سنختار sqlserver-ex. فيما يلي قائمة بالمحركات واختصاراتها:

  • SQL Server Enterprise Edition: sqlserver-ee
  • SQL Server Standard Edition: sqlserver-se
  • SQL Server Web Edition: sqlserver-web
  • SQL Server Express Edition: sqlserver-ex

إنشاء مجموعة خيارات جديدة لمثيل SQL Server Express Edition في RDS

بمجرد إنشاء مجموعة الخيارات، ستحتاج إلى إضافة خيار (Add option) إليها.

إضافة خيار جديد إلى مجموعة الخيارات في AWS RDS

اختر SQLSERVER_BACKUP_RESTORE كاسم للخيار (Option name). بالنسبة لدور IAM (IAM role)، يُفضل إنشاء دور جديد يمنح RDS الصلاحيات اللازمة للوصول إلى S3.

تحديد خيار SQLSERVER_BACKUP_RESTORE وإنشاء دور IAM جديد

حدد سلة S3 التي تستضيف ملف قاعدة البيانات الخاص بك. بالنسبة للجدولة (scheduling)، اختر Immediately لتطبيق التغييرات فورًا.

تحديد سلة S3 لعمليات الاستعادة وجدولة التغييرات فوراً

تعديل مثيل RDS لتطبيق مجموعة الخيارات

عد إلى صفحة مثيل AWS RDS MSSQL Server الخاص بك وانقر على Modify.

تعديل مثيل AWS RDS SQL Server لتطبيق مجموعة الخيارات الجديدة

اختر مجموعة الخيارات التي أنشأتها للتو، والتي تحمل اسمًا مثل sql-server-express-backup، ثم انقر على Continue.

اختيار مجموعة الخيارات المخصصة sql-server-express-backup لتطبيقها على مثيل RDS

اختر Apply immediately لجدولة التعديلات بحيث يتم تطبيقها على الفور.

تأكيد تطبيق التعديلات على مثيل RDS فوراً

إدارة أدوار IAM لمثيل RDS

عد إلى صفحة مثيل AWS RDS MSSQL Server، وقم بالتمرير لأسفل لتعديل قسم Manage IAM Roles. أضف دور IAM الذي أنشأته في S3. بالنسبة للميزة (Feature)، اختر S3_INTEGRATION.

إدارة أدوار IAM لمثيل AWS RDS وإضافة دور جديد
تحديد دور IAM الجديد وميزة S3_INTEGRATION لمثيل RDS

استيراد قاعدة البيانات التجريبية باستخدام Azure Data Studio

استعادة قاعدة البيانات من سلة S3

في Azure Data Studio، بعد الاتصال بمثيل AWS RDS MSSQL Server الخاص بك، أنشئ استعلامًا جديدًا (new query) واكتب الأمر التالي:

exec msdb.dbo.rds_restore_database @restore_db_name='AdventureWorks-test', @s3_arn_to_restore_from='arn:aws:s3:::clark-sample-dbs/AdventureWorks2017.bak';

تنفيذ استعلام SQL في Azure Data Studio لاستعادة قاعدة البيانات من S3

بعد تنفيذ الاستعلام بنجاح، قم بتحديث Azure Data Studio. قد تحتاج أيضًا إلى إعادة تشغيل التطبيق إذا لم تظهر قاعدة البيانات المستعادة أو إذا واجهت مشكلة في الوصول إليها. تهانينا، لقد أتممت العملية بنجاح!

الخلاصة التقنية

يمثل استيراد قواعد البيانات التجريبية إلى AWS RDS SQL Server عبر Amazon S3 حلاً فعالاً للمطورين الذين يسعون لاختبار تطبيقاتهم أو استكشاف ميزات SQL Server دون الحاجة إلى إدارة البنية التحتية المعقدة. من خلال دمج قوة S3 للتخزين مع مرونة RDS، يمكن للمستخدمين تسريع دورات التطوير وتقليل النفقات التشغيلية. تضمن الخطوات الموضحة في هذا الدليل، من إعداد سلة S3 وتكوين مجموعة الخيارات في RDS إلى استخدام Azure Data Studio، عملية استيراد سلسة وآمنة، مما يعزز الإنتاجية ويفتح آفاقًا جديدة لتطوير قواعد البيانات السحابية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *