الحصول على توصيات Azure لترحيل قاعدة بيانات SQL Server
يساعدك ملحق ترحيل Azure SQL ل Azure Data Studio على تقييم متطلبات قاعدة البيانات الخاصة بك، والحصول على توصيات SKU بالحجم الصحيح لموارد Azure، وترحيل قاعدة بيانات SQL Server إلى Azure.
تعرف على كيفية استخدام هذه التجربة الموحدة، وجمع بيانات الأداء من مثيل SQL Server المصدر للحصول على توصيات Azure بالحجم الصحيح لأهداف Azure SQL.
نظرة عامة
قبل الترحيل إلى Azure SQL، يمكنك استخدام ملحق ترحيل SQL في Azure Data Studio لمساعدتك في إنشاء توصيات بالحجم الصحيح لقاعدة بيانات Azure SQL ومثيل Azure SQL المدار وSQL Server على أهداف أجهزة Azure الظاهرية. تساعدك الأداة على جمع بيانات الأداء من مثيل SQL المصدر (الذي يعمل محليا أو سحابة أخرى)، وتوصي بتكوين الحوسبة والتخزين لتلبية احتياجات حمل العمل الخاص بك.
يعرض الرسم التخطيطي سير العمل لتوصيات Azure في ملحق ترحيل Azure SQL ل Azure Data Studio:
إشعار
يدعم التقييم وميزة توصية Azure في ملحق ترحيل Azure SQL ل Azure Data Studio مثيلات SQL Server المصدر التي تعمل على Windows أو Linux.
المتطلبات الأساسية
لبدء استخدام توصيات Azure لترحيل قاعدة بيانات SQL Server، يجب عليك تلبية المتطلبات الأساسية التالية:
قم بتنزيل Azure Data Studio وتثبيته.
تثبيت ملحق Azure SQL Migration من Azure Data Studio Marketplace.
تأكد من أن تسجيل الدخول الذي تستخدمه لتوصيل مثيل SQL Server المصدر، لديه الحد الأدنى من الأذونات.
المصادر والأهداف المدعومة
يمكن إنشاء توصيات Azure لإصدارات SQL Server التالية:
- يتم دعم SQL Server 2008 والإصدارات الأحدث على Windows أو Linux.
- قد يتم دعم SQL Server الذي يعمل على السحب الأخرى، ولكن قد تختلف دقة النتائج
يمكن إنشاء توصيات Azure لأهداف Azure SQL التالية:
- قاعدة بيانات Azure SQL
- عائلات الأجهزة: سلسلة قياسية (Gen5)
- مستويات الخدمة: الغرض العام، الأعمال الحرجة، Hyperscale
- مثيل Azure SQL المدار
- عائلات الأجهزة: سلسلة قياسية (Gen5)، سلسلة متميزة، محسنة ذاكرة السلسلة المتميزة
- مستويات الخدمة: الغرض العام، الأعمال الحرجة
- SQL Server على جهاز Azure الظاهري
- عائلات الأجهزة الظاهرية: الغرض العام، محسن للذاكرة
- مجموعات التخزين: Premium SSD
جمع بيانات الأداء
قبل إنشاء التوصيات، يجب جمع بيانات الأداء من مثيل SQL Server المصدر. أثناء خطوة جمع البيانات هذه، يتم الاستعلام عن طرق عرض النظام الديناميكية المتعددة (DMVs) من مثيل SQL Server لالتقاط خصائص أداء حمل العمل الخاص بك. تلتقط الأداة المقاييس بما في ذلك استخدام وحدة المعالجة المركزية والذاكرة والتخزين والإدخار كل 30 ثانية، وتحفظ عدادات الأداء محليا على جهازك كملف من ملفات CSV.
مستوى المثيل
يتم جمع بيانات الأداء هذه مرة واحدة لكل مثيل SQL Server:
بعد الأداء | الوصف | طريقة عرض الإدارة الديناميكية (DMV) |
---|---|---|
SqlInstanceCpuPercent |
مقدار وحدة المعالجة المركزية التي كانت تستخدمها عملية SQL Server، كنسبة مئوية | sys.dm_os_ring_buffers |
PhysicalMemoryInUse |
بصمة الذاكرة الإجمالية لعملية SQL Server | sys.dm_os_process_memory |
MemoryUtilizationPercentage |
استخدام ذاكرة SQL Server | sys.dm_os_process_memory |
مستوى قاعدة البيانات
بعد الأداء | الوصف | طريقة عرض الإدارة الديناميكية (DMV) |
---|---|---|
DatabaseCpuPercent |
النسبة المئوية الإجمالية لوحدة المعالجة المركزية المستخدمة من قبل قاعدة بيانات | sys.dm_exec_query_stats |
CachedSizeInMb |
الحجم الإجمالي بالميغابايت من ذاكرة التخزين المؤقت المستخدمة من قبل قاعدة بيانات | sys.dm_os_buffer_descriptors |
مستوى الملف
بعد الأداء | الوصف | طريقة عرض الإدارة الديناميكية (DMV) |
---|---|---|
ReadIOInMb |
العدد الإجمالي للميغابايت المقروءة من هذا الملف | sys.dm_io_virtual_file_stats |
WriteIOInMb |
العدد الإجمالي للميغابايت المكتوبة إلى هذا الملف | sys.dm_io_virtual_file_stats |
NumOfReads |
العدد الإجمالي للقراءات الصادرة في هذا الملف | sys.dm_io_virtual_file_stats |
NumOfWrites |
العدد الإجمالي للكتابات الصادرة في هذا الملف | sys.dm_io_virtual_file_stats |
ReadLatency |
زمن انتقال قراءة IO على هذا الملف | sys.dm_io_virtual_file_stats |
WriteLatency |
زمن انتقال كتابة IO على هذا الملف | sys.dm_io_virtual_file_stats |
مطلوب ما لا يقل عن 10 دقائق من جمع البيانات قبل إنشاء توصية، ولكن لتقييم حمل العمل الخاص بك بدقة، يوصى بتشغيل جمع البيانات لمدة طويلة بما يكفي لتسجيل كل من الاستخدام في الذروة وخارج أوقات الذروة.
لبدء عملية جمع البيانات، ابدأ بالاتصال بمثيل SQL المصدر في Azure Data Studio، ثم قم بتشغيل معالج ترحيل SQL. في الخطوة 2، حدد "الحصول على توصية Azure". حدد "تجميع بيانات الأداء الآن" وحدد مجلدا على جهازك حيث سيتم حفظ البيانات المجمعة.
تعمل عملية جمع البيانات لمدة 10 دقائق لإنشاء التوصية الأولى. من المهم بدء عملية جمع البيانات عندما يعكس حمل عمل قاعدة البيانات النشط الاستخدام المشابه لسيناريوهات الإنتاج الخاصة بك.
بعد إنشاء التوصية الأولى، يمكنك الاستمرار في تشغيل عملية جمع البيانات لتحسين التوصيات. يعد هذا الخيار مفيدا بشكل خاص إذا كانت أنماط الاستخدام تختلف بمرور الوقت.
تبدأ عملية جمع البيانات بمجرد تحديد البدء. كل 10 دقائق، يتم تجميع نقاط البيانات المجمعة وستتم كتابة الحد الأقصى والمتوسط والتباين لكل عداد على القرص إلى مجموعة من ثلاثة ملفات CSV.
عادة ما تشاهد مجموعة من ملفات CSV باللاحقات التالية في المجلد المحدد:
SQLServerInstance
_CommonDbLevel_Counters.csv: يحتوي على بيانات تكوين ثابتة حول تخطيط ملف قاعدة البيانات وبيانات التعريف.SQLServerInstance
_CommonInstanceLevel_Counters.csv: يحتوي على بيانات ثابتة حول تكوين الأجهزة لمثيل الخادم.SQLServerInstance
_PerformanceAggregated_Counters.csv: يحتوي على بيانات الأداء المجمعة التي يتم تحديثها بشكل متكرر.
خلال هذا الوقت، اترك Azure Data Studio مفتوحا، على الرغم من أنه يمكنك متابعة العمليات الأخرى. في أي وقت، يمكنك إيقاف عملية جمع البيانات عن طريق العودة إلى هذه الصفحة وتحديد إيقاف جمع البيانات.
إنشاء توصيات بالحجم المناسب
إذا كنت قد جمعت بالفعل بيانات الأداء من جلسة عمل سابقة، أو باستخدام أداة مختلفة (مثل مساعد ترحيل قاعدة البيانات)، يمكنك استيراد أي بيانات أداء موجودة عن طريق تحديد الخيار الذي لدي بالفعل بيانات الأداء. تابع لتحديد المجلد الذي يتم فيه حفظ بيانات الأداء (ثلاثة ملفات .csv) وحدد بدء لبدء عملية التوصية.
تطلب منك الخطوة الأولى من معالج ترحيل SQL تحديد مجموعة من قواعد البيانات لتقييمها، وهذه هي قواعد البيانات الوحيدة التي سيتم أخذها في الاعتبار أثناء عملية التوصية.
ومع ذلك، تجمع عملية جمع بيانات الأداء عدادات الأداء لجميع قواعد البيانات من مثيل SQL Server المصدر، وليس فقط تلك التي تم تحديدها.
وهذا يعني أنه يمكن استخدام بيانات الأداء التي تم جمعها مسبقا لإعادة إنشاء التوصيات لمجموعة فرعية مختلفة من قواعد البيانات بشكل متكرر عن طريق تحديد قائمة مختلفة في الخطوة الأولى.
معلمات التوصية
هناك العديد من الإعدادات القابلة للتكوين التي قد تؤثر على توصياتك.
حدد الخيار Edit parameters لضبط هذه المعلمات وفقا لاحتياجاتك.
عامل المقياس:
يسمح لك هذا الخيار بتوفير مخزن مؤقت لتطبيقه على كل بعد أداء. يمثل هذا الخيار مشكلات مثل الاستخدام الموسمي ومحفوظات الأداء القصيرة والزيادات المحتملة في الاستخدام المستقبلي. على سبيل المثال، إذا حددت أن متطلبات وحدة المعالجة المركزية رباعية vCore لها عامل مقياس بنسبة 150٪، فإن متطلبات وحدة المعالجة المركزية الحقيقية هي ستة vCores.
حجم عامل المقياس الافتراضي هو 100٪.
استخدام النسبة المئوية:
يتم تجميع القيمة المئوية لنقاط البيانات التي سيتم استخدامها كبيانات أداء.
القيمة الافتراضية هي النسبة المئوية 95.
تمكين ميزات المعاينة:
يسمح هذا الخيار بالتكوينات التي قد لا تكون متاحة بشكل عام لجميع المستخدمين في جميع المناطق حتى الآن.
يتم إيقاف تشغيل هذا الخيار بشكل افتراضي.
تمكين التوصية المرنة:
يستخدم هذا الخيار نموذج توصية بديل يستخدم جمع معلومات أداء الأسعار المخصصة مقابل العملاء الحاليين على السحابة.
يتم إيقاف تشغيل هذا الخيار بشكل افتراضي.
تنتهي عملية جمع البيانات إذا قمت بإغلاق Azure Data Studio. يتم حفظ البيانات التي تم جمعها حتى تلك النقطة في المجلد الخاص بك.
إذا أغلقت Azure Data Studio أثناء عملية جمع البيانات، فاستخدم أحد الخيارات التالية لإعادة تشغيل جمع البيانات:
أعد فتح Azure Data Studio واستورد ملفات البيانات المحفوظة في المجلد المحلي. ثم قم بإنشاء توصية من البيانات المجمعة.
أعد فتح Azure Data Studio وابدأ جمع البيانات مرة أخرى باستخدام معالج الترحيل.
الحد الأدنى للأذونات
للاستعلام عن طرق عرض النظام الضرورية لجمع بيانات الأداء، يلزم الحصول على أذونات محددة لتسجيل الدخول إلى SQL Server المستخدم لهذه المهمة. يمكنك إنشاء الحد الأدنى من المستخدمين المميزين للتقييم وجمع بيانات الأداء باستخدام البرنامج النصي التالي:
-- Create a login to run the assessment
USE master;
GO
CREATE LOGIN [assessment]
WITH PASSWORD = '<STRONG PASSWORD>';
-- Create user in every database other than TempDB and model and provide minimal read-only permissions
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''TempDB'',''model''))
BEGIN TRY
CREATE USER [assessment] FOR LOGIN [assessment]
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
END CATCH';
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN TRY
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment]
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
END CATCH';
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN TRY
GRANT VIEW DATABASE STATE TO [assessment]
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
END CATCH';
-- Provide server level read-only permissions
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [assessment];
GRANT VIEW DATABASE STATE TO assessment;
GRANT VIEW SERVER STATE TO assessment;
GRANT VIEW ANY DEFINITION TO assessment;
-- Provide msdb specific permissions
USE msdb;
GO
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [assessment];
-- USE master;
-- GO
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [assessment] END TRY BEGIN CATCH SELECT ERROR_MESSAGE() END CATCH';
-- DROP LOGIN [assessment];
سيناريوهات وقيود غير معتمدة
لا تتضمن توصيات Azure تقديرات الأسعار، حيث قد يختلف هذا الموقف اعتمادا على المنطقة والعملة والخصومات مثل Azure Hybrid Benefit. للحصول على تقديرات الأسعار، استخدم حاسبة تسعير Azure، أو أنشئ تقييم SQL في Azure Migrate.
توصيات قاعدة بيانات Azure SQL مع نموذج الشراء المستند إلى DTU غير مدعومة.
حاليا، توصيات Azure لطبقة الحوسبة بلا خادم لقاعدة بيانات Azure SQL والتجمعات المرنة غير مدعومة.
استكشاف الأخطاء وإصلاحها
- لم يتم إنشاء توصيات
- إذا لم يتم إنشاء أي توصيات، فقد يعني هذا الموقف أنه لم يتم تحديد تكوينات يمكن أن تفي بالكامل بمتطلبات الأداء لمثيل المصدر الخاص بك. لمعرفة الأسباب التي أدت إلى استبعاد حجم معين أو مستوى خدمة أو مجموعة أجهزة معينة:
- حاول إعادة إنشاء التوصية مع تمكين التوصية المرنة. يستخدم هذا الخيار نموذج توصية بديل، والذي يستخدم جمع معلومات أداء الأسعار المخصصة مقابل العملاء الحاليين على السحابة.