ترحيل تسجيلات دخول SQL ومجموعاتها
من أجل الانتقال السلس والآمن لقواعد بيانات SQL Server إلى Azure SQL، من الضروري فهم وإدارة ترحيل معلومات الأمان بشكل فعال.
تحديد متى يتم ترحيل تسجيلات دخول SQL ومجموعاتها
تخيل مؤسسة كبيرة مع بنية أساسية كبيرة ل SQL Server محلية تخدم وحدات الأعمال المختلفة. تحتوي كل وحدة عمل على مجموعة خاصة بها من عمليات تسجيل الدخول إلى SQL وأدوار المستخدم والأذونات المخصصة لاحتياجاتها المحددة. تقرر المؤسسة ترحيل قواعد البيانات هذه إلى قاعدة بيانات Azure SQL لاستخدام مزايا قابلية التوسع للسحابة.
في هذا السيناريو، قد يؤدي ترحيل عمليات تسجيل الدخول مقدما، قبل ترحيل قاعدة البيانات، إلى تعقيد غير ضروري لمرحلة الاختبار.
يمكن أن يسهل ترحيل عمليات تسجيل الدخول في نهاية مشروع ترحيل قاعدة البيانات الاختبار، خاصة في السيناريوهات المعقدة. إذا تم ترحيل عمليات تسجيل الدخول مقدما، فقد يؤدي ذلك إلى تأخيرات في الاختبار بسبب تطور مخططات قاعدة البيانات. يسمح انتظار ترحيل عمليات تسجيل الدخول بتكوينات الأمان بالتوافق مع البنية النهائية، ما يبسط عملية الترحيل، خاصة عندما يكون الأمان المعتمد على الجدول أمرا بالغ الأهمية لحماية البيانات.
| التحديات | الشرح |
|---|---|
| بنية الأذونات المعقدة | يسمح ترحيل عمليات تسجيل الدخول لاحقا بتكييف الأذونات مع تطور بنية قاعدة البيانات أثناء الترحيل. |
| تأخيرات الاختبار | قد يؤدي ترحيل عمليات تسجيل الدخول مبكرا إلى إبطاء الاختبار، مما يعقد التحقق من الأمان جنبا إلى جنب مع تغييرات المخطط. |
| الأمان المعتمد على الجدول | يتيح تأخير ترحيل تسجيل الدخول ضبط تكوينات الأمان لمطابقة بنيات قاعدة البيانات النهائية إذا تغيرت أثناء الترحيل. |
في السيناريو الخاص بنا، يسمح لك هذا النهج بالتركيز على ضمان توافق إجراءات الأمان تماما مع بنية قاعدة البيانات النهائية، والحد من المضاعفات المحتملة وجعل مشروع الترحيل أكثر قابلية للإدارة.
ترحيل تسجيلات الدخول باستخدام PowerShell أو Azure CLI
يمكنك استخدام خدمة ترحيل قاعدة بيانات Azure مع PowerShell (وحدة Az.DataMigration) أو Azure CLI لترحيل تسجيلات الدخول وأدوار الخادم من خادم SQL المحلي إلى هدف Azure SQL. تقوم عملية ترحيل تسجيل الدخول هذه بأتمتة المهام اليدوية مثل مزامنة تسجيلات الدخول مع خرائط المستخدم المقابلة وتكرار صلاحيات الخادم وأدوار الخادم.
حاليا، يدعم ترحيل تسجيل الدخول Azure SQL Managed Instance أو SQL Server على أهداف Azure VM.
- Azure SQL Managed Instance - كل من حسابات ويندوز وتسجيل دخول SQL.
- SQL Server على جهاز Azure VM - فقط تسجيلات SQL.
إذا لم تكن قد أكملت ترحيل قاعدة البيانات وبدأت عملية ترحيل تسجيل الدخول، فسيظل ترحيل عمليات تسجيل الدخول وأدوار الخادم يحدث، ولكن لن يتم إجراء تعيينات تسجيل الدخول/الدور بشكل صحيح.
المثال التالي يوضح كيفية ترحيل تسجيل الدخول باستخدام PowerShell:
New-AzDataMigrationLoginsMigration `
-SourceSqlConnectionString "<YourSourceConnectionString>" `
-TargetSqlConnectionString "<YourTargetConnectionString>" `
-ListOfLogin "login1" "login2" `
-AADDomainName "<YourAADDomainName>" # Required for Windows logins
بالنسبة ل Azure CLI، استخدم الأمر:az datamigration login-migration
az datamigration login-migration \
--src-sql-connection-str "<YourSourceConnectionString>" \
--tgt-sql-connection-str "<YourTargetConnectionString>" \
--list-of-login "login1" "login2" \
--aad-domain-name "<YourAADDomainName>"
بالنسبة لأعداد كبيرة من عمليات تسجيل الدخول، يمكنك استخدام المعامل --csv-file-path لتمرير ملف CSV يحتوي على قائمة تسجيلات الدخول للنقل.
البرنامج النصي MoveLogins
يساعد البرنامج النصي MoveLogins في نقل معلومات تسجيل الدخول من خوادم SQL المحلية إلى قاعدة بيانات Azure SQL أو عروض PaaS الأخرى.
يتيح سكريبت MoveLogins إجراء بحث في Active Directory للمستخدمين، مما يتيح لك الحصول على اسم المستخدم الرئيسي (UPN).
يقوم البرنامج النصي، المكتوب في PowerShell، بإنشاء برنامج نصي T-SQL يمكن تطبيقه على بيئة SQL الهدف لنقل عمليات تسجيل الدخول ومستخدمي قاعدة البيانات والأدوار والأذونات. لا ينفذ الأوامر على البيئة الهدف. تحتاج إلى مراجعة إخراج البرنامج النصي الذي تم إنشاؤه بعناية قبل تطبيقه على البيئة المستهدفة.
ينشئ البرنامج النصي نتائج مختلفة اعتمادا على ما إذا كنت تستخدم قاعدة بيانات Azure SQL أو مثيل Azure SQL المدار. في قاعدة بيانات Azure SQL، لا يمكنك إنشاء تسجيلات دخول Microsoft Entra ومستخدمي قاعدة البيانات ذات الصلة؛ بدلا من ذلك، يتم إنشاء مستخدمي Microsoft Entra على مستوى قاعدة البيانات. بالنسبة إلى Azure SQL Managed Instance، فإنه يشبه SQL Server المحلي مع تسجيلات الدخول على مستوى الخادم ومستخدمي قاعدة البيانات.
إشعار
نقترح البدء باستخدام PowerShell أو Azure CLI لنقل بيانات الدخول. إذا واجهت أي مشكلات في هذه الأدوات الموصى بها، يمكنك التفكير في أساليب بديلة مثل استخدام البرنامج النصي MoveLogins.