Meskipun Anda pasti dapat mengganti nama database SQL Server di GUI SSMS dengan mengklik kanan pada nama database dan memilih Ganti nama , terkadang Anda mungkin lebih suka (atau perlu) melakukannya menggunakan Transact-SQL.
Cara paling dasar untuk mengganti nama database menggunakan T-SQL adalah seperti ini:
-- Change to the master database USE master; -- Change the database name ALTER DATABASE Films Modify Name = Movies; GO
Satu-satunya masalah dengan skrip dasar ini adalah tidak mengubah nama file data dan file log. Dalam kebanyakan kasus, Anda mungkin ingin mengubah nama file-file ini agar sesuai dengan nama baru. Dalam hal ini Anda bisa mengambil skrip berikut dan mengganti nama database dengan milik Anda sendiri (serta nama file dan jalurnya):
-- 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;
Skrip ini mengganti nama database, mengganti nama logis dari file data dan file log, dan kemudian mengganti nama file fisik sebenarnya dari file tersebut. Ini diakhiri dengan memilih daftar semua file database dan lokasinya. Ini memungkinkan Anda untuk memeriksa apakah file Anda memang memiliki nama yang benar.
Menggunakan Jalur File Linux/Mac
Contoh di atas menggunakan sintaks jalur file Windows (garis miring terbalik dan huruf drive). Jika Anda menggunakan Linux atau Mac, sintaks jalur file akan terlihat lebih seperti contoh berikut (hanya jalur file yang berubah – yang lainnya tetap sama).
-- 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;
Pastikan untuk membuat cadangan database master setelah Anda mengganti nama database Anda (berikut cara membuat cadangan database dengan T-SQL). Anda mungkin juga ingin memeriksa/memperbarui skrip apa pun yang Anda miliki untuk memastikan skrip tersebut merujuk ke nama database baru.