على جهازي عندي نسخة تجريبية demo-

Viewed 17

أريد أن أقوم بتبديل قاعدة البيانات بقاعدة أخرى تم انشاؤها
المطلوب اعدادت ربط نما بقاعدة بيانات جديدة
أيضا مطلوب خطوات عمل قاعدة بيانات جديدة فاضية وخطوات ربطها بالنظام

1 Answers

لتبديل النسخة التجريبية للعمل على قاعدة بيانات جديدة فارغة، نحتاج خطوتين: أولاً إنشاء قاعدة البيانات على SQL Server وضبط إعدادات العزل (Isolation) الخاصة بها، ثم تعديل ملف الإعدادات الخاص بخادم Tomcat ليشير إلى القاعدة الجديدة.

أولاً: إنشاء قاعدة بيانات جديدة فارغة

افتح SQL Server Management Studio ونفّذ الاستعلام التالي، مع استبدال DB_NAME بالاسم الذي تريده لقاعدة البيانات الجديدة:

-- إنشاء قاعدة البيانات
-- ---------------
create database DB_NAME;
GO

-- ضبط مستوى العزل (Isolation Level)
-- -------------------
USE [master];
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions
WHERE database_id  = db_id('DB_NAME')
EXEC(@kill);
ALTER DATABASE DB_NAME SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE DB_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE DB_NAME SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

ملاحظة: ضبط إعدادات العزل الثلاثة أعلاه مهم جداً لعمل نما بشكل صحيح، فلا تتجاهلها.

ثانياً: ربط نما بقاعدة البيانات الجديدة

اسم قاعدة البيانات التي يتصل بها النظام موجود في ملف إعدادات Tomcat:

C:\Program Files\Apache Software Foundation\Tomcat 10.1\conf\context.xml

افتح هذا الملف وابحث عن السطر الخاص بمصدر البيانات (Resource) الخاص بنما:

<Resource name="jdbc/nama" auth="Container" type="javax.sql.DataSource"
        factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxActive="10000"
        maxIdle="20" maxWait="10000" username="sa" password="XXXXXXXXXXXX"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" validationQuery="SELECT 1"
        testWhileIdle="true"
        url="jdbc:sqlserver://localhost:1433;database=OLD_DB_NAME;encrypt=true;trustServerCertificate=true;"
        timeBetweenEvictionRunsMillis="24000000" testOnBorrow="true"/>

في خاصية url ستجد الجزء database=OLD_DB_NAME — استبدل OLD_DB_NAME باسم قاعدة البيانات الجديدة (DB_NAME) التي أنشأتها في الخطوة الأولى.

تأكد أيضاً من صحة باقي بيانات الاتصال في نفس السطر:

  • localhost:1433 — عنوان خادم SQL Server والمنفذ.
  • username و password — اسم المستخدم وكلمة المرور الخاصة بـ SQL Server.

حالة خاصة: التبديل إلى نسخة احتياطية (Backup)

إذا كان لديك نسخة احتياطية جاهزة وتريد التحويل إليها، فالأمر أبسط ويتم في خطوتين فقط:

  1. استرجع النسخة الاحتياطية (Restore) من خلال SQL Server Management Studio، وانتبه لاسم قاعدة البيانات المسترجعة.
  2. طبّق نفس خطوة التعديل أعلاه: استبدل اسم قاعدة البيانات الموجود في context.xml باسم قاعدة البيانات المسترجعة.

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

ثالثاً: إعادة تشغيل الخدمة

بعد حفظ ملف context.xml، أعد تشغيل خدمة Tomcat حتى يقرأ النظام الإعدادات الجديدة ويتصل بقاعدة البيانات الجديدة. ستجد عند الدخول قاعدة بيانات فارغة جاهزة للعمل عليها.