عرض مشاركة واحدة
قديم 24-03-2016, 01:53 AM   #1

Black Shield
عضو فضى



الصورة الرمزية Black Shield


• الانـتـسـاب » May 2011
• رقـم العـضـويـة » 87556
• المشـــاركـات » 3,424
• الـدولـة » In My Own World
• الـهـوايـة » DBA, C#, APS.NET
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 663
Black Shield صـانـع للابـداعBlack Shield صـانـع للابـداعBlack Shield صـانـع للابـداعBlack Shield صـانـع للابـداعBlack Shield صـانـع للابـداعBlack Shield صـانـع للابـداع

Black Shield غير متواجد حالياً

8014  


إرسال رسالة عبر Skype إلى Black Shield

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







مهم اعمل 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 هتحتاج انك تعدل اسماء الداتا بيز بالاسماء الجديده



توقيع Black Shield :

اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ،
أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ




تريخ الأنضمام الفعلي Oct 2008 بعضوية عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تاريخ الخروج Dec 17 2016


عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]



التعديل الأخير تم بواسطة Black Shield ; 27-03-2016 الساعة 02:40 AM

رد مع اقتباس
إعلانات google