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

تم إنشاء هذا الدليل لأنه كان من الصعب جدًا العثور على طريقة للتلاعب بقاعدة بيانات نموذجية باستخدام AWS RDS MSSQL Server. أتمنى أن تجد هذا مفيدا.

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

سنتطرق إلى التقنيات الموضحة أدناه:

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

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

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

حزمة Amazon S3

إنشاء حاوية S3

  1. قم بإنشاء دلو. يمكنك اختيار أي اسم مجموعة (مثال: yourname-sample-dbs).

2. تأكد من أن المنطقة هي نفس مثيل AWS RDS.

3. ضع علامة في مربعات الاختيار التالية:

  • حظر الوصول العام إلى الحاويات والكائنات الممنوحة من خلال قوائم التحكم في الوصول الجديدة (ACLs)
  • حظر الوصول العام والأشياء الممنوحة من خلال أي قوائم تحكم في الوصول (قوائم ACL)

4. قم بالوصول إلى الحاوية الخاصة بك مرة أخرى بالنقر فوق الحاوية التي تم إنشاؤها.

تحميل الملف إلى حاوية S3

  1. انقر فوق تحميل .

2. اختر ملف النسخ الاحتياطي لقاعدة البيانات. على سبيل المثال: AdventureWorks2017.bak. استمر في اختيار التالي واختر تحميل في قسم المراجعة.

3. قم بتحديث سياسة الحاوية الخاصة بك للسماح بالوصول إلى حاوية S3. لاحظ أن ARN الخاص بك سوف يختلف عن لي. اضغط على حفظ بعد ذلك.

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

AWS RDS - MSSQL Server Express

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

  1. انقر فوق مجموعات الخيارات ،

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

فيما يلي المحركات التالية واختصاراتها:

  • إصدار SQL Server Enterprise: sqlserver-ee
  • الإصدار القياسي لـ SQL Server: sqlserver-se
  • إصدار ويب خادم SQL: sqlserver-web
  • إصدار SQL Server Express: sqlserver-ex

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

4. اختر SQLSERVER_BACKUP_RESTORE لاسم الخيار الخاص بك. بالنسبة لدور IAM ، من الأفضل إنشاء دور جديد.

5. اختر حاوية S3 حيث يتم استضافة ملف قاعدة البيانات الخاصة بك. للجدولة ، اختر فورًا .

6. ارجع إلى مثيل خادم AWS RDS MSSQL وانقر على تعديل .

7. اختر مجموعة الخيارات التي تم إنشاؤها باستخدام sql-server-express-backup، ثم انقر فوق متابعة.

8. اختر "تقديم طلب فورًا" لجدولة التعديلات.

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

Azure Data Studio

استيراد نموذج قاعدة البيانات في حاوية S3 من خلال وظيفة الاستعادة

  1. في خادم AWS RDS MSSQL المتصل ، أنشئ استعلامًا جديدًا واكتب ما يلي:
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.amazon.com/premiumsupport/knowledge-center/native-backup-rds-sql-server/

تواصل معي على LinkedIn هنا