Black Shield
24-03-2016, 01:53 AM
http://store2.up-00.com/2015-07/1437915467981.png
مهم اعمل BackUp قبل ما تعمل حاجه عشان متبوظش حاجه و ترجع تقول الكويري بايظ
عشان انا شغال بيهم
mc6CdcarnHI
الموضوع بسيط للي عاوز يغير اسم الـDatabase بتاعته من غير اي مشاكل
اول حاجة هنبدأ بيها تغير اسماء الـDatabases بالكويري ديه
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 ده ايه ؟!
ده اسم الي بيربط الداتا بالملفات الي متخزن فيها الداتا بيز
-- 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
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
-- 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.l df');
اعتقد الكويري مفهوم و مشروح فوق
MyDB ده هاتبدلها بأسم الداتا بيز و لو غيرت اسمها استخدم الأسم الجديد
Logical_Name هاتكتب الأسم الي بيظهر لك لما تعمل الكويري التاني من فوق
NewMyDB.mdf و NewMyDB_log.ldf هنعدلهم بالاسماء الي عدلناهم فوق
زي ما قولنا مثلا SRO_BS_SH.mdf و SRO_BS_SH_Log.ldf
هتكرر الـخطوات ديه مع كل Database
و ماتنساش تغير الاسماء في ملفات السيرفر ^^
لو عامل اي System هتحتاج انك تعدل اسماء الداتا بيز بالاسماء الجديده
:irvine:
مهم اعمل BackUp قبل ما تعمل حاجه عشان متبوظش حاجه و ترجع تقول الكويري بايظ
عشان انا شغال بيهم
mc6CdcarnHI
الموضوع بسيط للي عاوز يغير اسم الـDatabase بتاعته من غير اي مشاكل
اول حاجة هنبدأ بيها تغير اسماء الـDatabases بالكويري ديه
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 ده ايه ؟!
ده اسم الي بيربط الداتا بالملفات الي متخزن فيها الداتا بيز
-- 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
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
-- 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.l df');
اعتقد الكويري مفهوم و مشروح فوق
MyDB ده هاتبدلها بأسم الداتا بيز و لو غيرت اسمها استخدم الأسم الجديد
Logical_Name هاتكتب الأسم الي بيظهر لك لما تعمل الكويري التاني من فوق
NewMyDB.mdf و NewMyDB_log.ldf هنعدلهم بالاسماء الي عدلناهم فوق
زي ما قولنا مثلا SRO_BS_SH.mdf و SRO_BS_SH_Log.ldf
هتكرر الـخطوات ديه مع كل Database
و ماتنساش تغير الاسماء في ملفات السيرفر ^^
لو عامل اي System هتحتاج انك تعدل اسماء الداتا بيز بالاسماء الجديده
:irvine: