الحصول على توصيات 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:

Diagram that shows the workflow of the SKU recommendation process.

إشعار

يدعم التقييم وميزة توصية 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". حدد "تجميع بيانات الأداء الآن" وحدد مجلدا على جهازك حيث سيتم حفظ البيانات المجمعة.

Screenshot that shows the wizard pane to collect performance data for SKU recommendations.

هام

تعمل عملية جمع البيانات لمدة 10 دقائق لإنشاء التوصية الأولى. من المهم بدء عملية جمع البيانات عندما يعكس حمل عمل قاعدة البيانات النشط الاستخدام المشابه لسيناريوهات الإنتاج الخاصة بك.

بعد إنشاء التوصية الأولى، يمكنك الاستمرار في تشغيل عملية جمع البيانات لتحسين التوصيات. يعد هذا الخيار مفيدا بشكل خاص إذا كانت أنماط الاستخدام تختلف بمرور الوقت.

تبدأ عملية جمع البيانات بمجرد تحديد البدء. كل 10 دقائق، يتم تجميع نقاط البيانات المجمعة وستتم كتابة الحد الأقصى والمتوسط والتباين لكل عداد على القرص إلى مجموعة من ثلاثة ملفات CSV.

عادة ما تشاهد مجموعة من ملفات CSV باللاحقات التالية في المجلد المحدد:

  • SQLServerInstance_CommonDbLevel_Counters.csv: يحتوي على بيانات تكوين ثابتة حول تخطيط ملف قاعدة البيانات وبيانات التعريف.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv: يحتوي على بيانات ثابتة حول تكوين الأجهزة لمثيل الخادم.
  • SQLServerInstance_PerformanceAggregated_Counters.csv: يحتوي على بيانات الأداء المجمعة التي يتم تحديثها بشكل متكرر.

خلال هذا الوقت، اترك Azure Data Studio مفتوحا، على الرغم من أنه يمكنك متابعة العمليات الأخرى. في أي وقت، يمكنك إيقاف عملية جمع البيانات عن طريق العودة إلى هذه الصفحة وتحديد إيقاف جمع البيانات.

إنشاء توصيات بالحجم الصحيح

إذا كنت قد جمعت بالفعل بيانات الأداء من جلسة عمل سابقة، أو باستخدام أداة مختلفة (مثل مساعد ترحيل قاعدة البيانات)، يمكنك استيراد أي بيانات أداء موجودة عن طريق تحديد الخيار الذي لدي بالفعل بيانات الأداء. تابع لتحديد المجلد حيث يتم حفظ بيانات الأداء (ثلاثة ملفات .csv) وحدد بدء لبدء عملية التوصية.

Screenshot that shows the pane to import performance data for a SKU recommendation.

إشعار

تطلب منك الخطوة الأولى من معالج ترحيل SQL تحديد مجموعة من قواعد البيانات لتقييمها، وهذه هي قواعد البيانات الوحيدة التي سيتم أخذها في الاعتبار أثناء عملية التوصية.

ومع ذلك، تجمع عملية جمع بيانات الأداء عدادات الأداء لجميع قواعد البيانات من مثيل SQL Server المصدر، وليس فقط تلك التي تم تحديدها.

وهذا يعني أنه يمكن استخدام بيانات الأداء التي تم جمعها مسبقا لإعادة إنشاء التوصيات لمجموعة فرعية مختلفة من قواعد البيانات بشكل متكرر عن طريق تحديد قائمة مختلفة في الخطوة الأولى.

معلمات التوصية

هناك العديد من الإعدادات القابلة للتكوين التي قد تؤثر على توصياتك.

Screenshot that shows the recommendation parameters section.

حدد الخيار Edit parameters لضبط هذه المعلمات وفقا لاحتياجاتك.

Screenshot that shows the different recommendation 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 والتجمعات المرنة غير مدعومة.

استكشاف الأخطاء وإصلاحها

  • لم يتم إنشاء توصيات
    • إذا لم يتم إنشاء أي توصيات، فقد يعني هذا الموقف أنه لم يتم تحديد تكوينات يمكن أن تفي بالكامل بمتطلبات الأداء لمثيل المصدر الخاص بك. لمعرفة الأسباب التي أدت إلى استبعاد حجم معين أو مستوى خدمة أو مجموعة أجهزة معينة:
      • الوصول إلى السجلات من Azure Data Studio عن طريق الانتقال إلى المساعدة في > إظهار كافة الأوامر > فتح مجلد سجلات الملحق
      • انتقل إلى Microsoft.mssql > SqlAssessmentLogs > فتح SkuRecommendationEvent.log
      • يحتوي السجل على تتبع لكل تكوين محتمل تم تقييمه والسبب في أنه/لم يعتبر تكوينا مؤهلا: Screenshot that shows SKU recommendations log.
    • حاول إعادة إنشاء التوصية مع تمكين التوصية المرنة. يستخدم هذا الخيار نموذج توصية بديل، والذي يستخدم جمع معلومات أداء الأسعار المخصصة مقابل العملاء الحاليين على السحابة.

الخطوات التالية