Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да преименувате база данни на SQL сървър с помощта на T-SQL

Въпреки че със сигурност можете да преименувате база данни на SQL Server в GUI на SSMS, като щракнете с десния бутон върху името на базата данни и изберете Преименуване , понякога може да предпочетете (или трябва) да го направите с 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;

Не забравяйте да архивирате главната база данни, след като преименувате своята база данни (ето как да архивирате база данни с T-SQL). Може също да искате да проверите/актуализирате всички скриптове, които имате, за да сте сигурни, че препращат към името на новата база данни.


  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 Server (T-SQL)

  2. Как да форматирате датата и часа в SQL Server

  3. Клаузата ORDER BY е невалидна в изгледи, вградени функции, производни таблици, подзаявки и изрази за общи таблици

  4. 4 типа данни, които да бъдат оттеглени в SQL Server

  5. Как да възстановим доверието в ограничение на външния ключ в SQL Server (примери за T-SQL)