Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

T-SQL का उपयोग करके SQL सर्वर डेटाबेस का नाम कैसे बदलें

जबकि आप निश्चित रूप से डेटाबेस नाम पर राइट-क्लिक करके और नाम बदलें का चयन करके SSMS GUI में SQL सर्वर डेटाबेस का नाम बदल सकते हैं। , कभी-कभी आप Transact-SQL का उपयोग करके इसे करना पसंद कर सकते हैं (या आवश्यकता)।

T-SQL का उपयोग करके डेटाबेस का नाम बदलने का सबसे बुनियादी तरीका इस प्रकार है:

-- Change to the master database
USE master;

-- Change the database name
ALTER DATABASE Films  
Modify Name = Movies; 
GO

इस मूल स्क्रिप्ट के साथ एकमात्र समस्या यह है कि यह डेटा फ़ाइलों और लॉग फ़ाइलों का नाम नहीं बदलता है। ज्यादातर मामलों में आप शायद नए नाम से मेल खाने के लिए इन फाइलों के नाम बदलना चाहेंगे। उस स्थिति में आप निम्न स्क्रिप्ट ले सकते हैं और डेटाबेस नाम को अपने नाम से बदल सकते हैं (साथ ही इसके फ़ाइल नाम और पथ):

-- Change to the master database
USE master;

-- Change the database name
ALTER DATABASE Films  
Modify Name = Movies; 
GO

-- Change the logical name of the data file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Films', 
  NEWNAME = 'Movies' 
  );

-- Change the logical name of the log file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Films_log', 
  NEWNAME = 'Movies_log' 
  );

-- Change the physical name of the data file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Movies', 
  FILENAME = 'D:\mssql\data\Movies.mdf' 
  );

-- Change the physical name of the log file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Movies_log', 
  FILENAME = 'D:\mssql\data\Movies_log.ldf' 
  );  

-- Check it (View the list of database files and their locations)
USE master;
SELECT 
  name 'Logical Name', 
  physical_name 'File Location',
  size 'File Size'
FROM sys.master_files;

यह स्क्रिप्ट डेटाबेस का नाम बदल देती है, डेटा फ़ाइल और लॉग फ़ाइल के तार्किक नामों का नाम बदल देती है, और फिर उन फ़ाइलों के वास्तविक भौतिक फ़ाइल नाम का नाम बदल देती है। यह सभी डेटाबेस फ़ाइलों और उनके स्थानों की सूची का चयन करने के साथ समाप्त होता है। इससे आप यह जांच सकते हैं कि आपकी फ़ाइलों का नाम वास्तव में सही है या नहीं।

Linux/Mac फ़ाइल पथों का उपयोग करना

उपरोक्त उदाहरण Windows फ़ाइल पथ सिंटैक्स (बैक स्लैश और एक ड्राइव अक्षर) का उपयोग करता है। यदि आप Linux या Mac का उपयोग करते हैं, तो फ़ाइल पथ सिंटैक्स निम्न उदाहरण की तरह अधिक दिखाई देगा (केवल फ़ाइल पथ बदल गए हैं - बाकी सब वही रहता है)।

-- Change to the master database
USE master;

-- Change the database name
ALTER DATABASE Films  
Modify Name = Movies; 
GO

-- Change the logical name of the data file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Films', 
  NEWNAME = 'Movies' 
  );

-- Change the logical name of the log file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Films_log', 
  NEWNAME = 'Movies_log' 
  );

-- Change the physical name of the data file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Movies', 
  FILENAME = '/var/opt/mssql/data/Movies.mdf' 
  );

-- Change the physical name of the log file
ALTER DATABASE Movies
MODIFY FILE ( 
  NAME = 'Movies_log', 
  FILENAME = '/var/opt/mssql/data/Movies_log.ldf' 
  );  

-- Check it (View the list of database files and their locations)
USE master;
SELECT 
  name 'Logical Name', 
  physical_name 'File Location',
  size 'File Size'
FROM sys.master_files;

अपने डेटाबेस का नाम बदलने के बाद मास्टर डेटाबेस का बैकअप लेना सुनिश्चित करें (यहां टी-एसक्यूएल के साथ डेटाबेस का बैकअप लेने का तरीका बताया गया है)। आप यह सुनिश्चित करने के लिए किसी भी स्क्रिप्ट की जांच/अपडेट करना चाहेंगे कि वे नए डेटाबेस नाम का संदर्भ लें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में सर्वर ट्रिगर इवेंट की सूची लौटाएं

  2. SQL सर्वर में सांख्यिकी IO क्या है?

  3. AMD EPYC 7002 सीरीज प्रोसेसर और SQL सर्वर

  4. SQL सर्वर में त्रुटि "डेटिफ़ फ़ंक्शन के परिणामस्वरूप अतिप्रवाह" को कैसे ठीक करें?

  5. अपने SQL सर्वर मॉनिटरिंग स्वामित्व की कुल लागत की गणना करें