Bagikan melalui


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 .

Batasan

  • Database sistem tidak dapat diganti namanya.

  • Nama database tidak dapat diubah saat pengguna lain mengakses database.

    • Gunakan Monitor Aktivitas SQL Server Management Studio 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

ALTER Memerlukan izin pada database.

Menggunakan SQL Server Management Studio (SSMS)

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

  1. Di SSMS, pilih Object Explorer. Untuk membuka Object Explorer, tekan F8. Atau di menu atas, pilih Tampilkan>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

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 SSMS, termasuk langkah-langkah untuk menempatkan database dalam mode pengguna tunggal. Setelah penggantian nama, contoh ini menempatkan 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 penghentian WITH ROLLBACK IMMEDIATE. Ini membuat semua transaksi yang tidak lengkap akan digulung balik dan semua koneksi lain ke basis data MyTestDatabase 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
    
  4. Secara opsional, jika database adalah database default Anda, lihat Mereset database default Anda setelah mengganti nama.

Mengganti nama database di 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, proses 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 login SQL Server, database mungkin mengalami Kesalahan 4064, Can't 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