Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Data dan file log transaksi database dapat dilepas dan kemudian dipasang kembali ke instans SQL Server yang sama atau lain. Melepaskan 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 pada disk SQL Server sama di lingkungan 64-bit dan 32-bit. Oleh karena itu, keterkaitan berfungsi 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 melepaskan 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.
Memutuskan Koneksi Database
Melepaskan database 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.
Nota
Jika Anda tidak dapat menggunakan sp_replicationdboption, Anda dapat menghapus replikasi dengan menjalankan sp_removedbreplication.
Cuplikan database ada di database.
Sebelum dapat melepaskan database, Anda harus menghilangkan semua rekam jepretnya. Untuk informasi selengkapnya, lihat Menghilangkan Rekam Jepret Database (Transact-SQL).
Nota
Rekam jepret database tidak dapat dilepas atau dilampirkan.
Database sedang dicerminkan dalam sesi pencerminan database.
Database tidak dapat dilepaskan kecuali sesi dihentikan. Untuk informasi selengkapnya, lihat Menghapus Pencerminan Database (SQL Server).
Database dianggap bermasalah. Database tersangka tidak dapat dilepas; sebelum Anda dapat melepaskannya, Anda harus memasukkannya ke dalam mode darurat. Untuk informasi selengkapnya tentang cara memasukkan database ke dalam mode darurat, lihat MENGUBAH DATABASE (Transact-SQL).
Database adalah database sistem.
Cadangkan dan Pulihkan serta Lepaskan
Memisahkan database hanya-baca akan menghilangkan informasi tentang basis diferensial dari cadangan diferensial. Untuk informasi selengkapnya, lihat Pencadangan Diferensial (SQL Server).
Menanggapi Kesalahan Pemisahan
Kesalahan yang terjadi saat melepaskan database dapat mencegah database tertutup dengan baik dan log transaksi tidak dapat dibangun ulang. Jika Anda menerima pesan kesalahan, lakukan tindakan korektif berikut:
Memasang kembali semua file yang terkait dengan database, bukan hanya file utama.
Atasi masalah yang menyebabkan pesan kesalahan.
Lepaskan database lagi.
Melampirkan Basis Data
Anda dapat melampirkan database SQL Server yang disalin atau dilepas. Saat Anda melampirkan instans server SQL Server 2014, file katalog dilampirkan dari lokasi sebelumnya bersama dengan file database lainnya, sama seperti di SQL Server 2005. Untuk informasi selengkapnya, lihat Tingkatkan Pencarian Teks Lengkap.
Saat Anda melampirkan database, semua file data (file MDF dan NDF) harus tersedia. Jika ada file data yang memiliki jalur yang berbeda dari kapan database pertama kali dibuat atau terakhir dilampirkan, Anda harus menentukan jalur file saat ini.
Nota
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 pembukaan enkripsi secara otomatis untuk kunci master dengan menjalankan pernyataan berikut: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Untuk informasi selengkapnya, lihat MEMBUAT KUNCI MASTER (Transact-SQL) dan MENGUBAH KUNCI MASTER (Transact-SQL).
Persyaratan untuk melampirkan file log sebagian bergantung pada apakah database bersifat baca-tulis atau baca-saja, dijelaskan 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 terpisah sampai database berhasil dilampirkan tanpa file-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 cara yang benar atau tidak. Namun, jika file log lama tidak ditemukan dan jika database dimatikan dengan bersih serta tidak memiliki rantai log aktif, operasi pengikatan mencoba membuat 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 lengkap 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 cadangan diferensial, lihat Pencadangan Diferensial (SQL Server).
Pada lampirkan, startup database terjadi. Umumnya, melampirkan database menempatkannya dalam keadaan yang sama saat dilepas atau disalin. Namun, operasi penyambungan dan pelepasan keduanya mematikan rantai kepemilikan lintas basis data untuk basis data tersebut. Untuk informasi tentang cara mengaktifkan penautan, lihat Opsi Konfigurasi Server rantai kepemilikan lintas db. Selain itu, TRUSTWORTHY diatur ke NONAKTIF setiap kali database dilampirkan. Untuk informasi tentang cara mengatur TRUSTWORTHY ke AKTIF, lihat MENGUBAH DATABASE (Transact-SQL).
Pencadangan dan Pemulihan dan Lampirkan
Seperti database apa pun yang sepenuhnya atau sebagian offline, database dengan memulihkan file 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 dalam versi yang lebih lama.
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 melepaskan database
Untuk melampirkan database
Untuk memperbarui database menggunakan operasi melepaskan dan melampirkan
Untuk memindahkan database menggunakan operasi lepaskan dan lampirkan
Untuk menghapus cuplikan database