الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   تغير اسماء الـDatabase بدون اي مشاكل ( Query ) (https://silkroad4arab.com/vb/showthread.php?t=600119)

Black Shield 24-03-2016 01:53 AM

تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
http://store2.up-00.com/2015-07/1437915467981.png



مهم اعمل BackUp قبل ما تعمل حاجه عشان متبوظش حاجه و ترجع تقول الكويري بايظ
عشان انا شغال بيهم

[YOUTUBE]mc6CdcarnHI[/YOUTUBE]

الموضوع بسيط للي عاوز يغير اسم الـDatabase بتاعته من غير اي مشاكل

اول حاجة هنبدأ بيها تغير اسماء الـDatabases بالكويري ديه

كود PHP:

USE master
GO
ALTER DATABASE SRO_VT_SHARD 
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE
GO
EXEC master
..sp_renamedb 'SRO_VT_SHARD','SRO_BS_SH'
GO
ALTER DATABASE SRO_BS_SH 
SET MULTI_USER 
GO 

زي ما انت شايف هتغير اسم الـDatabase الحالي و الأسم الي انت عاوزة

كده انت غيرت اسماء الـDatabase و تم تعديل الـStored Procedures

دلوقتي هنغير اسم الـDatabase في الـ Logical Name
طيب الـLogical Name ده ايه ؟!
ده اسم الي بيربط الداتا بالملفات الي متخزن فيها الداتا بيز

كود PHP:

-- Changing logical names
-- Replace all MyDBs with the name of the DB you want to change its name
-- Replace all NewMyDB with the new name you want to set for the DB
ALTER DATABASE MyDB MODIFY FILE 
(NAME MyDBNEWNAME NewMyDB_Data);
ALTER DATABASE MyDB MODIFY FILE (NAME MyDB _logNEWNAME NewMyDB_log); 


عشان نتأكد من ان الاسماء اتعدلت نستخم الـQuery

كود PHP:

USE master
GO

/* Identify Database File Names */
SELECT 
name 
AS [Logical Name], 
physical_name AS [DB File Path],
type_desc AS [File Type],
state_desc AS [State
FROM sys.master_files
WHERE database_id 
DB_ID(N'SRO_BS_SH')
GO 

هتحط هنا (N'SRO_BS_SH') اسم الـDatabase الجديد


الـQuery الي جاي ده عشان تغير الـ physical database files او الـDB File Path
الداتا بتتخزن في ملفين ملف بصيغة .mdf و ده مسئول عن تخزين كل الداتا الي في الداتا بيز
و ملف بصيغة .ldf و ده مسؤل عن تسجيل كل حاجه حصلت في الـDatabase

طيب هاتحتاج تغيره ليه : يعني لزايدة التأكد من حماية السيرفر
و كمان عشان الناس الي بتعمل Developing لـGame مثلا عاوز ياخد حاجه من Database مبيقدرش يعملها ريستور جمب الداتا الاصلية بتاعته بسبب انهم بيستخدموا نفس اسم الملفات الي هو SRO_VT_XXXX لما تعمل الخطوه ديه هتقدر تعمل ريستور لداتا تانية عشان تاخد منها الي انت عاوزه براحتك من غير ما تاثر على الداتا بتعتك ولا تدوخ نفسك

طيب هاتعمل ايه بظبط ؟! اقول لك
اول حاجه في ال SQL هاتدوس كليك يمين على الداتا بيز الي هاتشتغل عليه
مثلا SRO_VT_SHARD
و هتنزل على Task و تعملها Take Offline
هتروح على المسار ده
اقتباس:

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA
11 الرقم ممكن يكون متغير على حسب نسخة ال SQL عندك
هتدور على SRO_VT_SHARD و SRO_VT_SHARD_Log
هنغير اسمهم للأسم الي انت عاوزه مثلا SRO_BS_SH و SRO_BS_SH_Log
تمام كده هاتعمل الكويري بقى عشان تعدلهم في الSQL

كود PHP:

-- Changing Physical names and paths
-- Replace all MyDB with the Database name
-- Replace all Logical_Name with the new name you want to set for the DB
-- Replace 'C:\...\NewMyDB.mdf' with full path of new DB file to be used
ALTER DATABASE DR_LOG_KT MODIFY FILE 
(NAME 'Logical_Name_Data'FILENAME 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\NewMyDB.mdf');
-- 
Replace 'C:\...\NewMyDB_log.ldf' with full path of new DB log file to be used
ALTER DATABASE DR_LOG_KT MODIFY FILE 
(NAME 'Logical_Name_Log'FILENAME 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\NewMyDB_log.ldf'); 

اعتقد الكويري مفهوم و مشروح فوق
MyDB ده هاتبدلها بأسم الداتا بيز و لو غيرت اسمها استخدم الأسم الجديد
Logical_Name هاتكتب الأسم الي بيظهر لك لما تعمل الكويري التاني من فوق
NewMyDB.mdf و NewMyDB_log.ldf هنعدلهم بالاسماء الي عدلناهم فوق
زي ما قولنا مثلا SRO_BS_SH.mdf و SRO_BS_SH_Log.ldf


هتكرر الـخطوات ديه مع كل Database
و ماتنساش تغير الاسماء في ملفات السيرفر ^^
لو عامل اي System هتحتاج انك تعدل اسماء الداتا بيز بالاسماء الجديده

:irvine:

Hamza FiGo 25-03-2016 11:33 PM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
تسلم ايدك وهيسهل علي ناس كتير . بس عندي تعقيب ^^

فية ناس هتقولك يعني اية Logical Name - DB File Path - File Type - State

ياريت تشرحهم شرح بسيط وكل واحده بمثال هيكون افضل وبكدة هيكون موضوع متكامل :v:

Xan 26-03-2016 12:30 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
طيب و البروسدرات اللي اصلا متسجله بي اسم الداتا بيز

Dev.BigBear 26-03-2016 02:38 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
حبيبيى و الله جيت فى وقتك اوووى
:jumpy:

Mohamed ElKersh 26-03-2016 03:14 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
احلي واحد انت جيت في وقتك و احسن حماية بقاا :]

بس سؤال
بنسبة لل Procuders اللي في الاسيسيتمات و و Procuders اللي في الداتابيز ال 3 هيتغيروا ولا ايه ؟

Black Shield 26-03-2016 03:25 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5260910)
تسلم ايدك وهيسهل علي ناس كتير . بس عندي تعقيب ^^

فية ناس هتقولك يعني اية Logical Name - DB File Path - File Type - State

ياريت تشرحهم شرح بسيط وكل واحده بمثال هيكون افضل وبكدة هيكون موضوع متكامل :v:

عنيا يا كبير ^^ لما ارجع بس بكرا من الجامعه عشان عندي امتحان

اقتباس:

المشاركة الأصلية كتبت بواسطة Xan (المشاركة 5260916)
طيب و البروسدرات اللي اصلا متسجله بي اسم الداتا بيز

عشان كده بقول بدون اي مشاكل ^^
و ديه الفكرة من الـQuery انت ممكن تعدل اسم الـDatabase عادي بـRename
لاكن الـQuery بيعدل اسم الـDatabase في كل حاجه حتى الملفات الي بتتخزن فيها الداتا بتعتك


اقتباس:

المشاركة الأصلية كتبت بواسطة MrMisoBear (المشاركة 5260925)
حبيبيى و الله جيت فى وقتك اوووى
:jumpy:

انا في الخدمه ديما :wink3:

اقتباس:

المشاركة الأصلية كتبت بواسطة Mohamed ElKersh (المشاركة 5260930)
احلي واحد انت جيت في وقتك و احسن حماية بقاا :]

بس سؤال
بنسبة لل Procuders اللي في الاسيسيتمات و و Procuders اللي في الداتابيز ال 3 هيتغيروا ولا ايه ؟

بيتم تغيرهم في كل الـStored Procedures
متقلقش

elbattawy1st 26-03-2016 04:07 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
تسلم ايدك :character15::character15:

Mohamed ElKersh 26-03-2016 04:43 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
بايظ :] شكرا علي انك بوظتلي اللعبة :]

Mohamed ElKersh 26-03-2016 05:00 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
ابوس اي حاجة جربواااااااااااااااااااااااااااا الحاجة

MikrotikBody 26-03-2016 05:58 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Xan (المشاركة 5260916)
طيب و البروسدرات اللي اصلا متسجله بي اسم الداتا بيز

ممكن حضرتك تستخدم كيوري يبحث عن أسم الداتا في البروسيدور
اقتباس:

SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id)
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%Name of Database%'

BLACK X™ 26-03-2016 11:44 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
تسلم موضوع جميل وهيحل مشاكل كتير

Dangers SrO 26-03-2016 12:30 PM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
تسلم يا كبير ديما تجيب الجديد :lol2:

Black Shield 26-03-2016 10:39 PM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mohamed ElKersh (المشاركة 5260936)
بايظ :] شكرا علي انك بوظتلي اللعبة :]

اقتباس:

المشاركة الأصلية كتبت بواسطة Mohamed ElKersh (المشاركة 5260937)
ابوس اي حاجة جربواااااااااااااااااااااااااااا الحاجة

حضرتك احنا مش بنلعب هنا
لما يكون عندك مشكله قول عندي مشكلة متقوليش بايظ تمام
[YOUTUBE]mc6CdcarnHI[/YOUTUBE]

Black Shield 26-03-2016 10:40 PM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
اقتباس:

المشاركة الأصلية كتبت بواسطة BLACK X™ (المشاركة 5260963)
تسلم موضوع جميل وهيحل مشاكل كتير

اقتباس:

المشاركة الأصلية كتبت بواسطة Dangers SrO (المشاركة 5260967)
تسلم يا كبير ديما تجيب الجديد :lol2:

العفو يا شباب ^^

Black Shield 27-03-2016 02:41 AM

رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
 
Topic Updated!!


الساعة الآن 07:04 PM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.