Bagikan melalui


Memulihkan database master (Transact-SQL)

Berlaku untuk:SQL Server

Artikel ini menjelaskan cara memulihkan master database dari cadangan database lengkap.

Peringatan

Jika terjadi pemulihan bencana, instans master database yang dipulihkan harus sedekat mungkin dengan yang asli. Minimal, instans pemulihan ini harus memiliki versi, edisi, dan tingkat patch yang sama, dan harus memiliki pilihan fitur yang sama dan konfigurasi eksternal yang sama (nama host, keanggotaan kluster, dan sebagainya) sebagai instans asli. Melakukan sebaliknya dapat mengakibatkan perilaku instans SQL Server yang tidak terdefinisi, dengan dukungan fitur yang tidak konsisten, dan tidak dijamin layak.

Memulihkan master database

  1. Mulai instans server dalam mode pengguna tunggal.

    Anda dapat memulai SQL Server dengan menggunakan parameter -m atau parameter -f startup. Untuk informasi selengkapnya tentang parameter startup, lihat Opsi startup Database Engine Service.

    Dari prompt perintah, jalankan perintah berikut, dan pastikan Anda mengganti MSSQLXX.instance dengan nama folder yang sesuai:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • Parameter -mSQLCMD memastikan bahwa hanya sqlcmd yang dapat tersambung ke SQL Server.
    • Untuk nama instans default, gunakan -s MSSQLSERVER
    • -c memulai SQL Server sebagai aplikasi untuk menghindari Manajer Kontrol Layanan guna mempersingkat waktu startup

    Jika instans SQL Server tidak dapat dimulai karena database yang rusak master , Anda harus membangun kembali database sistem terlebih dahulu. Untuk informasi selengkapnya, lihat Membangun kembali database sistem.

  2. Sambungkan ke SQL Server menggunakan sqlcmd dari jendela prompt perintah lain:

    sqlcmd -S <instance> -E -d master
    
  3. Untuk memulihkan cadangan masterdatabase lengkap , gunakan pernyataanTransact-SQL RESTORE berikut:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE;
    

    Opsi ini REPLACE menginstruksikan SQL Server untuk memulihkan database yang ditentukan bahkan ketika database dengan nama yang sama sudah ada. Database yang ada, jika ada, dihapus. Dalam mode pengguna tunggal, kami sarankan Anda memasukkan RESTORE DATABASE pernyataan di utilitas sqlcmd. Untuk informasi selengkapnya, lihat Menggunakan sqlcmd.

    Penting

    Setelah master dipulihkan, instans SQL Server mematikan dan mengakhiri sqlcmd proses. Sebelum Anda memulai ulang instans server, hapus parameter startup pengguna tunggal. Untuk informasi selengkapnya, lihat SQL Server Configuration Manager: Mengonfigurasi opsi startup server.

  4. Mulai ulang instans server biasanya sebagai layanan, tanpa menggunakan parameter startup apa pun.

  5. Lanjutkan langkah-langkah pemulihan lainnya seperti memulihkan database lain, melampirkan database, dan memperbaiki ketidakcocokan pengguna.

Contoh

Contoh berikut memulihkan database pada instans master server default. Contoh mengasumsikan bahwa instans server sudah berjalan dalam mode pengguna tunggal. Contoh memulai sqlcmd dan menjalankan RESTORE DATABASE pernyataan yang memulihkan cadangan database lengkap dari master perangkat disk: Z:\SQLServerBackups\master.bak.

Untuk instans bernama, perintah sqlcmd harus menentukan -S<computer-name>\<instance-name> opsi .

C:\> sqlcmd
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;
2> GO