ترقية البيانات في بيئة وضع الحماية

هام

This feature is currently available by invitation only. To nominate your organization to participate, please complete this survey.

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

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

نظرة عامة على عملية ترقية بيانات وضع الحماية

قبل بدء عملية ترقية البيانات في بيئة وضع الحماية، سيكون لديك بيانات تمت ترقيتها في بيئة تطوير، كما هو موضح في ترقية البيانات في بيئة تطوير. العمليات متشابهتان جدًا. الاختلاف الأساسي بين البيئتين هو أن بيئة وضع الحماية تستخدم قاعدة بيانات Microsoft Azure SQL لتخزين البيانات، في حين تستخدم بيئة التطوير Microsoft SQL Server. يتطلب منك هذا الاختلاف التقني في طبقة قاعدة البيانات أن تقوم بتعديل بسيط لإجراء ترقية البيانات في بيئة وضع الحماية، نظراً لتعذر استعادة نسخة احتياطية من مثيل قاعدة بيانات AX 2012 إلى قاعدة بيانات SQL.

عملية ترقية بيانات وضع الحماية

فيما يلي الخطوات عالية المستوى في عملية الترقية.

  1. أنشئ نسخة لقاعدة بيانات AX 2012. نوصي بشدة باستخدام نسخة، لأنه يجب حذف بعض الكائنات في النسخة التي سيتم تصديرها.
  2. قم بتصدير نسخة قاعدة البيانات إلى ملف bacpac باستخدام أداة SQL Server مجانية تسمى SQLPackage.exe. توفر هذه الأداة نوع نسخة احتياطية خاصة لقاعدة البيانات يمكن استيرادها إلى قاعدة بيانات SQL.
  3. قم بتحميل ملف bacpac إلى مساحة تخزين Azure.
  4. قم بتنزيل الملف bacpac إلى جهاز خادم كائن التطبيق (AOS) في بيئة وضع الحماية، ثم استورده باستخدام SQLPackage.exe. بعد ذلك، يجب تشغيل برنامج نصي لقاعدة البيانات المستوردة لإعادة تعيين مستخدمي قاعدة بيانات SQL.
  5. قم بتشغيل حزمة MajorVersionDataUpgrade.zip لتشغيل عملية ترقية البيانات في مقابل قاعدة البيانات المستوردة.

إنشاء نسخة لقاعدة بيانات AX 2012

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

يجب تنفيذ هذه الخطوة من قبل مسؤول قاعدة البيانات (DBA) أو شخص يمتلك نفس المعرفة والخبرة.

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

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

BACKUP DATABASE [AxDB] TO  DISK = N'D:\Backups\axdb_copyForUpgrade.bak' WITH NOFORMAT, NOINIT,  
NAME = N'AxDB_copyForUpgrade-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 10
GO

RESTORE DATABASE [AxDB_copyForUpgrade] FROM  DISK = N'D:\Backups\axdb_copyForUpgrade.bak'   WITH  FILE = 1,  
MOVE N'AXDBBuild_Data' TO N'F:\MSSQL_DATA\AxDB_copyForUpgrade.mdf',  
MOVE N'AXDBBuild_Log' TO N'G:\MSSQL_LOGS\AxDB_CopyForUpgrade.ldf',  
NOUNLOAD,  STATS = 5

بعد إنشاء النسخة، قم بتشغيل البرنامج النصي Transact-SQL (T-SQL) التالي في مقابلها. TODO

تصدير قاعدة البيانات المنسوخة إلى ملف bacpac

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

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

هذه الخطوة هامة، لأنه يلزم تنفيذ التصدير مرة أخرى أثناء التوقف عن العمل قبل الانتقال إلى التشغيل المباشر. فيما يلي بعض النصائح:

  • عملية bacpac تتطلب الكثير من عمليات الإدخال/الإخراج وتستخدم وحدة المعالجة بشكل ملحوظ. لذلك، قم بتشغيل عملية التصدير على جهاز عالي الطاقة.
  • يجب تشغيل SQLPackage محليًا على الجهاز الذي يستضيف قاعدة بيانات. لا تقم بتشغيل SQLPackage على جهاز كمبيوتر محمول محلي تم توصيلها بجهاز قاعدة البيانات، لأن هذه العملية تستخدم الشبكة بشكل ملحوظ.

بعد ذلك، افتح نافذة موجه الأوامر كمسؤول، ثم قم بتشغيل الأوامر التالية.

cd C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\

SqlPackage.exe /a:export /ssn:localhost /sdn:<database to export> /tf:D:\Exportedbacpac\my.bacpac /p:CommandTimeout=1200 /p:VerifyFullTextDocumentTypesSupported=false

وإليك شرح للمعلمات:

  • ssn (اسم الخادم المصدر) – اسم SQL Server للتصدير منه. بالنسبة إلى عمليتنا، يجب تعيين هذه المعلمة دومًا إلى localhost.
  • sdn (اسم قاعدة البيانات المصدر) – اسم قاعدة البيانات لتصديرها.
  • tf (الملف الهدف) – مسار واسم الملف للتصدير إليه. يجب أن يكون المجلد موجودًا، ولكن سيتم إنشاء الملف بواسطة العملية.
  • /p:CommandTimeout – قيمة المهلة لكل استعلام. تسمح هذه المعلمة بتصدير جداول أكبر حجمًا من دون التأثير على المهلة.

تحميل ملف bacpac إلى مساحة تخزين Azure

قم بتحميل ملف bacpac إلى مساحة تخزين Azure. راجع UsingStorageExplorer.docx TODO

استيراد ملف bacpac إلى قاعدة بيانات SQL

أثناء تنفيذ هذه الخطوة، ستقوم باستيراد الملف bacpac الذي تم تصديره إلى مثيل قاعدة بيانات SQL الذي تستخدمه بيئة وضع الحماية. عليك أولاً تثبيت أحدث إصدار من Management Studio على جهاز AOS لبيئة الحماية. ثم ستستورد الملف باستخدام أداة SQLPackage.exe.

سيتم تنفيذ هذه المهام مباشرة على جهاز AOS في بيئة الحماية، نظرًا لوجود قواعد جدار الحماية التي تقيد الوصول إلى مثيل قاعدة بيانات SQL. ومع ذلك، باستخدام جهاز AOS، يمكنك الوصول.

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

لأسباب تتعلق بالأداء، نوصي بوضع ملف bacpac الموجود على محرك الأقراص D على جهاز AOS. على أجهزة Azure الظاهرية، محرك الأقراص D هو قرص فعلي ذي أداء أعلى مقارنةً بالأقراص الأخرى المتوفرة.

افتح نافذة موجه الأوامر كمسؤول، ثم قم بتشغيل الأوامر التالية.

cd C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\

SqlPackage.exe /a:import /sf:D:\Exportedbacpac\my.bacpac /tsn:<azure sql database server name>.database.windows.net /tu:sqladmin /tp:<password from LCS> /tdn:<New database name> /p:CommandTimeout=1200 /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P1

وإليك شرح للمعلمات:

  • tsn (اسم الخادم الهدف) – اسم خادم SQL Azure للاستيراد إليه. يمكن العثور على الاسم في LCS. يمكنك أن تضيف إليه اللاحقة .database.windows.net.
  • tdn (اسم قاعدة البيانات الهدف) – اسم قاعدة البيانات للاستيراد إليها. يجب ألا تكون قاعدة البيانات موجودة. ستقوم عملية الاستيراد بإنشائها.
  • sf (الملف المصدر) – مسار واسم الملف للاستيراد منه.
  • tp (كلمة المرور الهدف) – كلمة مرور SQL لمثيل قاعدة بيانات SQL الهدف.
  • tu (المستخدم الهدف) – اسم مستخدم SQL لمثيل قاعدة SQL الهدف. إننا نوصي باستخدام sqladmin. يمكنك استرداد كلمة المرور لهذا المستخدم من مشروع LCS.
  • /p:CommandTimeout – قيمة المهلة لكل استعلام. تسمح هذه المعلمة بتصدير جداول أكبر حجمًا من دون التأثير على المهلة.
  • /p:DatabaseServiceObjective – مستوى الخدمة لقاعدة البيانات التي تم إنشاؤها. يمكنك التحقق من القيمة الخاصة بقاعدة البيانات الموجودة باستخدام Management Studio. انقر بزر الماوس الأيمن فوق قاعدة البيانات، ثم حدد خصائص.

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

خطأ وضع الحماية

تشغيل حزمة MajorVersionDataUpgrade.zip

قم بتشغيل الحزمة قابلة للنشر لترقية البيانات كما هو موضح في ترقية البيانات في بيئات التطوير أو العرض التوضيحي أو وضع الحماية.

ترقية نسخة من قاعدة البيانات في بيئة تطوير

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