sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man ändrar ett databasnamn i SQL Server med T-SQL

När du använder SQL Server, om du vill ändra namnet på en databas, kan du göra detta genom att använda ett GUI (som SSMS) eller genom att använda Transact-SQL.

Om du använder ett GUI kan du högerklicka på databasnamnet och klicka på Byt namn för att byta namn på databasen (du kan behöva ställa in databasen på enanvändarläge först).

Om du gör detta med T-SQL bör exemplen på den här sidan hjälpa dig.

Grundläggande exempel

Här är ett grundläggande exempel för att ändra namnet på en databas med T-SQL:

USE master;
GO

ALTER DATABASE Problems  
MODIFY NAME = Solutions; 
GO

Först byter vi till huvuddatabasen, sedan använder vi ALTER DATABASE för att ändra namnet på databasen från Problems till Solutions .

Det här exemplet använder också GO som, även om det inte är strikt T-SQL, känns igen av olika verktyg som signalerar slutet på en grupp T-SQL-satser.

Byt namn på data och loggfiler

Det är viktigt att notera att det föregående exemplet inte byter namn på data och loggfiler. Det döper helt enkelt om databasen. Data och loggfiler förblir med sina ursprungliga namn. I det här exemplet har vi nu en databas som heter Solutions men med data och loggfiler som heter något som Problems.mdf och Problems_log.ldf . Det här är inte vad vi vill.

Så här kan vi byta namn på datafilerna och loggfilerna för denna databas, så att de återspeglar namnet på databasen:

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

-- Change the logical name of the log file
ALTER DATABASE Solutions
MODIFY FILE ( 
  NAME = 'Problems_log', 
  NEWNAME = 'Solutions_log' 
  );

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

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

Så vi ändrar båda de logiska namn och det fysiska namn på filerna.

Dessa filsökvägar är enbart för demonstrationsändamål, du bör använda de filsökvägar som är korrekta för just din miljö.

Observera också att det här exemplet använder Windows-filsökvägar. Om du använder Linux (eller Mac) måste du använda ett snedstreck (/ ) istället för omvänt snedstreck (\ ).


  1. IIf()-funktionen kontra IIf()-satsen

  2. MySql summaelement i en kolumn

  3. Hur kan jag ansluta till MySQL i Python 3 på Windows?

  4. Tre enkla SQL Server-prestandavinster