Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách đổi tên cơ sở dữ liệu SQL Server bằng T-SQL

Mặc dù bạn chắc chắn có thể đổi tên cơ sở dữ liệu SQL Server trong SSMS GUI bằng cách nhấp chuột phải vào tên cơ sở dữ liệu và chọn Đổi tên , đôi khi bạn có thể thích (hoặc cần) làm điều đó bằng Transact-SQL.

Cách cơ bản nhất để đổi tên cơ sở dữ liệu bằng T-SQL là như sau:

-- Change to the master database
USE master;

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

Vấn đề duy nhất với tập lệnh cơ bản này là nó không thay đổi tên của tệp dữ liệu và tệp nhật ký. Trong hầu hết các trường hợp, bạn có thể muốn thay đổi tên của những tệp này để phù hợp với tên mới. Trong trường hợp đó, bạn có thể sử dụng tập lệnh sau và thay thế tên cơ sở dữ liệu bằng tên của riêng bạn (cũng như tên tệp và đường dẫn của nó):

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

Tập lệnh này đổi tên cơ sở dữ liệu, đổi tên các tên logic của tệp dữ liệu và tệp nhật ký, sau đó đổi tên tệp vật lý thực của các tệp đó. Nó kết thúc với việc chọn danh sách tất cả các tệp cơ sở dữ liệu và vị trí của chúng. Điều này cho phép bạn kiểm tra xem các tệp của bạn trên thực tế có đúng tên hay không.

Sử dụng đường dẫn tệp Linux / Mac

Ví dụ trên sử dụng cú pháp đường dẫn tệp Windows (dấu gạch chéo ngược và ký tự ổ đĩa). Nếu bạn sử dụng Linux hoặc Mac, cú pháp đường dẫn tệp sẽ giống như ví dụ sau (chỉ các đường dẫn tệp đã thay đổi - mọi thứ khác vẫn như cũ).

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

Đảm bảo sao lưu cơ sở dữ liệu chính sau khi bạn đổi tên / các cơ sở dữ liệu của mình (đây là cách sao lưu cơ sở dữ liệu bằng T-SQL). Bạn cũng có thể muốn kiểm tra / cập nhật bất kỳ tập lệnh nào bạn có để đảm bảo chúng tham chiếu đến tên cơ sở dữ liệu mới.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thoát khỏi một trích dẫn duy nhất trong SQL Server?

  2. SQL Server CHỌN vào bảng hiện có

  3. Lọc trên mệnh đề đầu ra sql

  4. Cách thay đổi kích thước của một cột trong SQL Server (T-SQL)

  5. Làm cách nào để mở rộng các giá trị được phân tách bằng dấu phẩy thành các hàng riêng biệt bằng SQL Server 2005?