كيفية استيراد قاعدة بيانات تجريبية إلى خادم AWS RDS Microsoft SQL Server باستخدام S3
مقدمة: استكشاف قواعد البيانات التجريبية على 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

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

من الضروري جدًا أن تكون المنطقة الجغرافية (Region) لسلة 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
انقر على زر Upload لبدء عملية التحميل.

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

تحديث سياسة السلة (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/*"
}
]
}

إعداد AWS RDS – SQL Server Express
إنشاء مجموعة خيارات (Option Group) لمثيل RDS
انقر على Option groups في لوحة تحكم AWS RDS.

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

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

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

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

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

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

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

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


استيراد قاعدة البيانات التجريبية باستخدام 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';

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