sql >> Databáze >  >> RDS >> Sqlserver

Jak přejmenovat databázi SQL Server pomocí T-SQL

I když určitě můžete přejmenovat databázi SQL Server v GUI SSMS kliknutím pravým tlačítkem na název databáze a výběrem Přejmenovat , někdy to možná preferujete (nebo potřebujete) pomocí Transact-SQL.

Nejzákladnější způsob přejmenování databáze pomocí T-SQL je tento:

-- Change to the master database
USE master;

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

Jediný problém s tímto základním skriptem je, že nemění název datových souborů a souborů protokolu. Ve většině případů budete pravděpodobně chtít změnit názvy těchto souborů tak, aby odpovídaly novému názvu. V takovém případě můžete použít následující skript a nahradit název databáze svým vlastním (stejně jako názvy souborů a cesty):

-- 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;

Tento skript přejmenuje databázi, přejmenuje logické názvy datového souboru a souboru protokolu a poté přejmenuje skutečné fyzické názvy souborů těchto souborů. Dokončí to výběrem seznamu všech databázových souborů a jejich umístění. To vám umožní zkontrolovat, že vaše soubory mají ve skutečnosti správný název.

Používání cest souborů Linux/Mac

Výše uvedený příklad používá syntaxi cesty k souboru systému Windows (zpětná lomítka a písmeno jednotky). Pokud používáte Linux nebo Mac, syntaxe cesty k souboru bude vypadat spíše jako v následujícím příkladu (pouze cesty k souboru se změnily – vše ostatní zůstává stejné).

-- 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;

Jakmile přejmenujete svou databázi, nezapomeňte zálohovat hlavní databázi (zde je návod, jak zálohovat databázi pomocí T-SQL). Můžete také chtít zkontrolovat/aktualizovat všechny skripty, které máte, abyste se ujistili, že odkazují na nový název databáze.


  1. MariaDB DAY() Vysvětleno

  2. Analyzujte datum v MySQL

  3. SEC_CASE_SENSTIVE_LOGON za 12c

  4. Vkládejte velké množství dat efektivně pomocí SQL