Mengganti nama Database

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Artikel ini menjelaskan cara mengganti nama database yang ditentukan pengguna di SQL Server, Azure SQL Database, atau Azure SQL Managed Instance dengan menggunakan SQL Server Management Studio (SSMS) atau Transact-SQL (T-SQL). Nama database dapat menyertakan karakter apa pun yang mengikuti aturan untuk pengidentifikasi.

Catatan

Untuk mengganti nama database di Azure Synapse Analytics atau Gudang Data Paralel, gunakan pernyataan GANTI NAMA (Transact-SQL).

Pembatasan dan batasan

  • Database sistem tidak dapat diganti namanya.
  • Nama database tidak dapat diubah saat pengguna lain mengakses database.
    • Gunakan SQL Server Management Studio Activity Monitor untuk menemukan koneksi lain ke database, dan tutup. Untuk informasi selengkapnya, lihat Buka Monitor Aktivitas di SQL Server Management Studio (SSMS).
    • Di SQL Server, Anda dapat mengatur database dalam mode pengguna tunggal untuk menutup koneksi yang terbuka. Untuk informasi selengkapnya, lihat mengatur database ke mode pengguna tunggal.
    • Di Azure SQL Database, Anda harus memastikan tidak ada pengguna lain yang memiliki koneksi terbuka ke database yang akan diganti namanya.
  • Mengganti nama database tidak mengubah nama fisik file database pada disk, atau nama logis file. Untuk informasi selengkapnya, lihat File Database dan Grup File.
  • Tidak dimungkinkan untuk mengganti nama database Azure SQL yang dikonfigurasi dalam hubungan replikasi geografis aktif.

Izin

Memerlukan izin UBAH pada database.

Menggunakan SQL Server Management Studio

Gunakan langkah-langkah berikut untuk mengganti nama database SQL Server atau Azure SQL menggunakan SQL Server Management Studio.

  1. Di SQL Server Management Studio, pilih Object Explorer. Untuk membuka Object Explorer, pilih F8. Atau di menu atas, pilih Tampilan, lalu pilih Object Explorer:

  2. Di Object Explorer, sambungkan ke instans SQL Server, lalu perluas instans tersebut.

  3. Pastikan bahwa tidak ada koneksi terbuka ke database. Jika Anda menggunakan SQL Server, Anda dapat mengatur database ke mode pengguna tunggal untuk menutup koneksi yang terbuka dan mencegah pengguna lain tersambung saat Anda mengubah nama database.

  4. Di Object Explorer, perluas Database, klik kanan database untuk mengganti nama, lalu pilih Ganti Nama.

  5. Masukkan nama database baru, lalu pilih OK

  6. Jika database adalah database default Anda, lihat Mereset database default Anda setelah mengganti nama.

  7. Refresh daftar database di Object Explorer.

Menggunakan Transact-SQL

Untuk mengganti nama database SQL Server dengan menempatkannya dalam mode pengguna tunggal

Gunakan langkah-langkah berikut untuk mengganti nama database SQL Server menggunakan T-SQL di SQL Server Management Studio termasuk langkah-langkah untuk menempatkan database dalam mode pengguna tunggal dan, setelah mengganti nama, tempatkan database kembali dalam mode multi-pengguna.

  1. Sambungkan ke master database untuk instans Anda.
  2. Buka jendela kueri.
  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh ini mengubah nama database menjadi MyTestDatabaseMyTestDatabaseCopy.

Peringatan

Untuk mendapatkan akses eksklusif dengan cepat, sampel kode menggunakan opsi WITH ROLLBACK IMMEDIATEpenghentian . Ini akan menyebabkan semua transaksi yang tidak lengkap digulung balik dan koneksi lain ke MyTestDatabase database segera terputus.

USE master;  
GO  
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO  
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO
  1. Secara opsional, jika database adalah database default Anda, lihat Mereset database default Anda setelah mengganti nama.

Untuk mengganti nama database Azure SQL Database

Gunakan langkah-langkah berikut untuk mengganti nama database Azure SQL menggunakan T-SQL di SQL Server Management Studio.

  1. Sambungkan ke master database untuk instans Anda.

  2. Buka jendela kueri.

  3. Pastikan tidak ada yang menggunakan database.

  4. Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh ini mengubah nama database menjadi MyTestDatabaseMyTestDatabaseCopy.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

Mencadangkan setelah mengganti nama database

Setelah mengganti nama database di SQL Server, cadangkan master database. Di Azure SQL Database, ini tidak diperlukan karena pencadangan terjadi secara otomatis.

Mereset database default Anda setelah mengganti nama

Jika database yang Anda ganti nama ditetapkan sebagai database default dari login SQL Server, database mungkin mengalami Kesalahan 4064, Cannot open user default database. Gunakan perintah berikut untuk mengubah default ke database yang diganti namanya:

USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO

Langkah berikutnya