قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة[ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]
مهم اعمل 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 = MyDB, NEWNAME = NewMyDB_Data); ALTER DATABASE MyDB MODIFY FILE (NAME = MyDB _log, NEWNAME = 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
هتروح على المسار ده
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 ; 27-03-2016 الساعة 02:40 AM
رد: تغير اسماء الـDatabase بدون اي مشاكل ( Query )
اقتباس:
المشاركة الأصلية كتبت بواسطة Hamza FiGo
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تسلم ايدك وهيسهل علي ناس كتير . بس عندي تعقيب ^^
فية ناس هتقولك يعني اية Logical Name - DB File Path - File Type - State
ياريت تشرحهم شرح بسيط وكل واحده بمثال هيكون افضل وبكدة هيكون موضوع متكامل
عنيا يا كبير ^^ لما ارجع بس بكرا من الجامعه عشان عندي امتحان
اقتباس:
المشاركة الأصلية كتبت بواسطة Xan
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
طيب و البروسدرات اللي اصلا متسجله بي اسم الداتا بيز
عشان كده بقول بدون اي مشاكل ^^
و ديه الفكرة من الـQuery انت ممكن تعدل اسم الـDatabase عادي بـRename
لاكن الـQuery بيعدل اسم الـDatabase في كل حاجه حتى الملفات الي بتتخزن فيها الداتا بتعتك
اقتباس:
المشاركة الأصلية كتبت بواسطة MrMisoBear
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
حبيبيى و الله جيت فى وقتك اوووى
انا في الخدمه ديما
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed ElKersh
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
احلي واحد انت جيت في وقتك و احسن حماية بقاا :]
بس سؤال
بنسبة لل Procuders اللي في الاسيسيتمات و و Procuders اللي في الداتابيز ال 3 هيتغيروا ولا ايه ؟