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.