Bagikan melalui


Pencopotan dan Lampirkan Database (SQL Server)

File log data dan transaksi database dapat dilepas dan kemudian dipasang kembali ke instans SQL Server yang sama atau lain. Mencopot dan melampirkan database berguna jika Anda ingin mengubah database ke instans SQL Server yang berbeda di komputer yang sama atau untuk memindahkan database.

Format penyimpanan SQL Server di disk sama di lingkungan 64-bit dan 32-bit. Oleh karena itu, lampirkan bekerja di lingkungan 32-bit dan 64-bit. Database yang terlepas dari instans server yang berjalan di satu lingkungan dapat dilampirkan pada instans server yang berjalan di lingkungan lain.

Keamanan

Izin akses file diatur selama sejumlah operasi database, termasuk mencopot atau melampirkan database.

Penting

Kami menyarankan agar Anda tidak melampirkan atau memulihkan database dari sumber yang tidak diketahui atau tidak tepercaya. Database tersebut dapat berisi kode berbahaya yang mungkin menjalankan kode Transact-SQL yang tidak diinginkan atau menyebabkan kesalahan dengan memodifikasi skema atau struktur database fisik. Sebelum Anda menggunakan database dari sumber yang tidak diketahui atau tidak tepercaya, jalankan DBCC CHECKDB pada database di server nonproduksi dan juga periksa kode, seperti prosedur tersimpan atau kode lain yang ditentukan pengguna, dalam database.

Mencopot Database

Mencopot database akan menghapusnya dari instans SQL Server tetapi membiarkan database tetap utuh dalam file data dan file log transaksinya. File-file ini kemudian dapat digunakan untuk melampirkan database ke instans SQL Server apa pun, termasuk server tempat database dicopot.

Anda tidak dapat melepaskan database jika salah satu hal berikut ini benar:

  • Database direplikasi dan diterbitkan. Jika direplikasi, database harus tidak diterbitkan. Sebelum dapat mencopotnya, Anda harus menonaktifkan penerbitan dengan menjalankan sp_replicationdboption.

    Catatan

    Jika Anda tidak dapat menggunakan sp_replicationdboption, Anda dapat menghapus replikasi dengan menjalankan sp_removedbreplication.

  • Rekam jepret database ada di database.

    Sebelum Anda dapat mencopot database, Anda harus menghilangkan semua rekam jepretnya. Untuk informasi selengkapnya, lihat Menghapus Rekam Jepret Database (Transact-SQL).

    Catatan

    Rekam jepret database tidak dapat dilepas atau dilampirkan.

  • Database sedang dicerminkan dalam sesi pencerminan database.

    Database tidak dapat dilepas kecuali sesi dihentikan. Untuk informasi selengkapnya, lihat Menghapus Pencerminan Database (SQL Server).

  • Database adalah tersangka. Database tersangka tidak dapat dilepas; sebelum Anda dapat melepaskannya, Anda harus memasukkannya ke dalam mode darurat. Untuk informasi selengkapnya tentang cara memasukkan database ke mode darurat, lihat MENGUBAH DATABASE (Transact-SQL).

  • Database adalah database sistem.

Pencadangan dan Pemulihan dan Pencopotan

Mencopot database baca-saja kehilangan informasi tentang basis diferensial cadangan diferensial. Untuk informasi selengkapnya, lihat Pencadangan Diferensial (SQL Server).

Menanggapi Kesalahan Lepas

Kesalahan yang dihasilkan saat mencopot database dapat mencegah database ditutup dengan bersih dan log transaksi dibangun kembali. Jika Anda menerima pesan kesalahan, lakukan tindakan korektif berikut:

  1. Lampirkan kembali semua file yang terkait dengan database, bukan hanya file utama.

  2. Atasi masalah yang menyebabkan pesan kesalahan.

  3. Lepaskan database lagi.

Melampirkan Database

Anda bisa melampirkan database SQL Server yang disalin atau dicopot. Saat Anda melampirkan instans server SQL Server 2014, file katalog dilampirkan dari lokasi sebelumnya bersama dengan file database lainnya, sama seperti pada SQL Server 2005. Untuk informasi selengkapnya, lihat Meningkatkan Full-Text Search.

Saat Anda melampirkan database, semua file data (file MDF dan NDF) harus tersedia. Jika ada file data yang memiliki jalur yang berbeda dari saat database pertama kali dibuat atau terakhir dilampirkan, Anda harus menentukan jalur file saat ini.

Catatan

Jika file data utama yang dilampirkan bersifat baca-saja, Mesin Database mengasumsikan bahwa database bersifat baca-saja.

Ketika database terenkripsi pertama kali dilampirkan ke instans SQL Server, pemilik database harus membuka kunci master database dengan menjalankan pernyataan berikut: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'. Kami menyarankan agar Anda mengaktifkan dekripsi otomatis kunci master dengan menjalankan pernyataan berikut: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Untuk informasi selengkapnya, lihat MEMBUAT MASTER KEY (Transact-SQL) dan ALTER MASTER KEY (Transact-SQL).

Persyaratan untuk melampirkan file log sebagian bergantung pada apakah database bersifat baca-tulis atau baca-saja, sebagai berikut:

  • Untuk database baca-tulis, Anda biasanya dapat melampirkan file log di lokasi baru. Namun, dalam beberapa kasus, memasang kembali database memerlukan file log yang ada. Oleh karena itu, penting untuk selalu menyimpan semua file log yang dicopot sampai database berhasil dilampirkan tanpa file tersebut.

    Jika database baca-tulis memiliki satu file log dan Anda tidak menentukan lokasi baru untuk file log, operasi lampirkan akan terlihat di lokasi lama untuk file tersebut. Jika ditemukan, file log lama digunakan, terlepas dari apakah database dimatikan dengan bersih. Namun, jika file log lama tidak ditemukan dan jika database dimatikan dengan bersih dan tidak memiliki rantai log aktif, operasi lampirkan mencoba membangun file log baru untuk database.

  • Jika file data utama yang dilampirkan bersifat baca-saja, SQL Server tidak dapat memperbarui lokasi log yang disimpan dalam file utama.

Perubahan Metadata pada Melampirkan Database

Ketika database baca-saja dilepas dan kemudian dipasang kembali, informasi cadangan tentang basis diferensial saat ini hilang. Basis diferensial adalah cadangan penuh terbaru dari semua data dalam database atau dalam subset file atau grup file database. Tanpa informasi cadangan dasar, database master menjadi tidak disinkronkan dengan database baca-saja, sehingga cadangan diferensial yang diambil setelahnya dapat memberikan hasil yang tidak terduga. Oleh karena itu, jika Anda menggunakan cadangan diferensial dengan database baca-saja, Anda harus membuat basis diferensial baru dengan mengambil cadangan penuh setelah Anda memasang kembali database. Untuk informasi tentang pencadangan diferensial, lihat Pencadangan Diferensial (SQL Server).

Pada lampirkan, startup database terjadi. Umumnya, melampirkan database menempatkannya dalam keadaan yang sama dengan saat dilepas atau disalin. Namun, operasi lampirkan dan lepaskan menonaktifkan rantai kepemilikan lintas database untuk database. Untuk informasi tentang cara mengaktifkan penautan, lihat rantai kepemilikan silang db Opsi Konfigurasi Server. Selain itu, TRUSTWORTHY diatur ke NONAKTIF setiap kali database dilampirkan. Untuk informasi tentang cara mengatur TRUSTWORTHY ke AKTIF, lihat ALTER DATABASE (Transact-SQL).

Cadangkan dan Pulihkan dan Lampirkan

Seperti database apa pun yang sepenuhnya atau sebagian offline, database dengan file pemulihan tidak dapat dilampirkan. Jika Anda menghentikan urutan pemulihan, Anda bisa melampirkan database. Kemudian, Anda dapat memulai ulang urutan pemulihan.

Melampirkan Database ke Instans Server Lain

Penting

Database yang dibuat oleh versi SQL Server yang lebih baru tidak dapat dilampirkan di versi sebelumnya.

Saat Anda melampirkan database ke instans server lain, untuk memberikan pengalaman yang konsisten kepada pengguna dan aplikasi, Anda mungkin harus membuat ulang beberapa atau semua metadata untuk database, seperti login dan pekerjaan, pada instans server lainnya. Untuk informasi selengkapnya, lihat Mengelola Metadata Saat Membuat Database Tersedia di Instans Server Lain (SQL Server).

Tugas Terkait

Untuk mencopot database

Untuk melampirkan database

Untuk meningkatkan database menggunakan operasi lepaskan dan lampirkan

Untuk memindahkan database menggunakan operasi lepaskan dan lampirkan

Untuk menghapus rekam jepret database

Lihat juga

File Database dan Grup File