Perbedaan Attach,Detacth Vs Backup, Restore MSSQL

Ada orang nanya seperti ini :

>> Mau tanya mas, di ms sql detach dan attach sama gak ya
>> ama backup dan restore .

Jawaban saya :

> Beda ..

> 1. Kalau detach berfungsi untuk menghilagkan registrasi

> database dari SQL server, dan fisik datanya masih

> tetap ada di folder penyimpanan datanya. Jika telah di

> Detach, fisiknya (mdf dan ldf) bisa di copy ke

> komputer lain u/ disimpan sebagai backup, .. or

> anything else…

>

> 2. Attach, untuk meregistrasikan kembali database ke

> SQL server, baik itu hasil copy an dari komputer lain,

> ataupun me-attach kembali mdf & ldf dari komputer yg

> sama (biasanya jika telah dilakukan pembersihan log

> file).

>

> 3. Back up bertujuan membuat backup file dari database

> tanpa menghilangkan registrasi database dari SQL

> server

>

> 4. Restore bertujuan mengembalikan, dan atau bisa juga

> digunakan untuk registrasikan Database yg sama dengan

> nama yg berbeda dari database aslinya. Hati-hati dalam

> merestore database, jangan sampai database yg sedang

> digunakan u/ produksi (transaksional) ketimpa sama

> file yang kita restore dari hasil backup yg lalu-lalu.

>

> conclusion :

> 1. attach & detach berbeda dari backup & restore, tapi

> bisa digunakan untuk tujuan yg sama (membackup

> database)

> 2. atach tidak bisa digunakan pada server yg sudah

> memiliki database aktif dengan nama yg sama, restore

> bisa, akan tetapi harus hati-hati jangan sampe nimpa

> pada database yg sedang digunakan, kecuali memang hal

> itu diinginkan.

> That’s All I only know, moga membantu.

27 thoughts on “Perbedaan Attach,Detacth Vs Backup, Restore MSSQL

Add yours

  1. tanya boss, gimana caranya agar datadase yang kita copy langsung dr MSSQL7\Data tanpa melalui attach database bisa aktiv dalam enterprise manager dalam komputer lain??

    trimms yah boss…. saya tunggu tanggapannya yah bos…

    OK thanks banget yah boss

  2. Setau saya seeh gak ada cara lain selain harus di attach dl di database server, trus kalo yg dimaksud dng computer lain itu adalah computer client yg menggunakan enterprise manager, maka jika pernah satu kali di attach (baik dari server maupun dari client) maka akan otomatis muncul kecuali di detach lagi.

    semoga membantu, klo sy salah koreksi aja yaah 😀

  3. tuk sql server 7, perintah attach itu dimananya yah boss? kok aku cari-cari kok ga ada yah..?

    berarti database kita itu (yg dicopy langsung dr MSSQL7\Data) dah fatal ga bisa diaktivkan lagi yah boss…?

    thx yah boss

  4. coba jalankan prosedur ini dari query analyzer :

    use master
    exec sp_attach_db @dbname=’SIMRS’,
    @filename1=’C:\MSSQL7\SIMRS_Data.mdf’,
    @filename2=’C:\MSSQL7\SIMRS_Log.ldf’

    keterangan :
    SIMRS adalah nama database, SIMRS_data.mdf dan SIMRS_Log.ldf adalah nama file databasenya. Ganti sesuai database yang akan dipake.

    Semoga membantu.

  5. saya coba jalankan sperti ini:

    use master
    exec sp_attach_db @dbname=’Fujiama01’,
    @filename1=’C:\Program Files\MSSQL7\Data\sm.mdf’,
    @filename2=’C:\Program Files\MSSQL7\Data\sm.ldf’

    Truss laporannya ini:
    Server: Msg 170, Level 15, State 1, Line 2
    Line 2: Incorrect syntax near ‘’’.
    Server: Msg 132, Level 15, State 1, Line 4
    The label ‘C’ has already been declared. Label names must be unique within a query batch or stored procedure.

    maksudnya gimana yah boss?

    sm.mdf & sm.ldf adalah nama database yg langsung saya copy dr Komputer yg lain. C:\Program Files\MSSQL7\Data\ adalah path database Sql serverku sekarang.

    critanya gini boss:
    Dulu kan aku punya program inventori sederhanya menggunakan VB dan SqlServer 7 dbnya. truss.. ga tahu krn apa komputernya hank ga bisa masuk kewindows lagi. karna dah pusing memikirinya ga bisa-bisa. trakhir aku copy dulu data-data penting (termasuk databaseku itu sm.mdf & sm.ldf langsung dari MSSQL7\Data_nya) truss saya instal windows baru. yah… hingga saat ini aku masih bingung gimana caranya agar bisa mengaktivkan database saya itu, dimana sebelumnya ga melalui Export, tapi langsung dicopy dr windows Explorer.

    gitu boss, Trims yah boss dah mau meresponku memberi saran dan petunjuk.

  6. coba skriptnya ganti pake yg ini :

    use master
    go
    sp_attach_db ‘mydb’,’C:\Program Files\MSSQL7\Data\sm.mdf’,’C:\Program Files\MSSQL7\Data\sm.ldf’
    go

    Catatan :
    nama databasenya (dalam contoh ini “mydb”) harus sama dengan nama database yg sebelumnya Running di servernya.

  7. cobain jg cara ini :

    bikin database dengan file location dan nama database yang sama dengan lokasi dan nama sebelumnya, stop SQL Server nya, replace file .mdf dan .ldf nya, start lagi SQL Servernya.

    moga bisa menyelesaikan masalahnya 😀

  8. waduh… dah cape yah boss… blum clear-clear juga..

    udah saya coba juga dengan perintah tanggapan no 6. namun tetap ga bisa.
    truss saya coba juga dengan cara tanggapan no 7 diatas. namun terakhir tetap ga bisa digunakan. hasilnya: sm(suspect)

    truss stelah gitu gimnana yah boss?

    catatan: ini saya coba dengan nama server yang berdeba. saat ini saya coba di server fujiama01, tapi sebelumnya DB yg mau kita aktivkan ini (yang saya copy dari W. Explorer itu) adalah dari server “Komp_Rumah”.

    apakah ada pengaruhnya boss??? apakah harus nama server yg sama??

    Thx yah boss..

  9. kalau pesan errornya begini The headre for file’c:\mssql7\data\bu_data.mdf’ is not valid database header. The pageaudit property is incorrect. Masalahnya dimana ya? soalnya file mdf nya dari sql2000, sedangkan saya mau attach ke sql7. Terima kasih bagi yg mau membantu.

  10. To : fijiama :
    Sory aku blm ketemu lagi cara yang lainnya euy…

    To : Rizki :
    .mdf dan .ldf file harus bener-bener di detach dari database sebelumnya, jadi kalo tidak di detach dengan sempurna akan muncul pesan error itu.

    Kemungkinan masalah yg sama bisa terjadi jg pada kasus Mas Fujiama dimana datanya tidak ter detach secara sempurna, solusinya …. aku cari dl yaa.. dr forum-forum lain, coba kalian coba cari jg di forum lainnya, ato bagi temen-temen yg lain ada yg bisa bantu??

  11. to Mas Fujiama : coba langkah-langkah ini

    Looks like your mdf file is corrupted…
    Try the following if you can get the data..
    1. Rename existing mdf file mdf_old
    2. Create new database with the same as corrupted database with same file names.
    3. Stop sql service.
    4. Rename mdf and ldf of new database files to mdf_new and ldf_new
    5. Rename mdf_old to mdf
    6 Start the sql service.
    7. you may see your db in suspect mode.
    8. Run sp_resetstatus command if didn’t work update the sysdatabase table make db to emergency mode.
    9. If you are lucky you take your data out using dts or bcp..

  12. buat Mas Rizky & bisa juga dicobain o/ Mas Fujiama jika langkah diatas masih gagal, coba jalanin ini

    Exec sp_attach_single_file_db DB_Name, ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\DB_Name_Data.MDF’

    rubah path & nama databasenya sesuai dengan lokasi do komputer masing-masing….

    Keep searching.. & good luck..

  13. tanya nich, saya mo melakukan restore database.
    databse yang lama sudah saya backup biasa menggunakan taks backup.
    tetapi pada saat mau restore harus menggunakan ATTACH.
    bagaimana caranya ( step2 )ya……
    terimakasih.

  14. setau saya kalau mau restore dengan cara attach, file nya harus dalam bentuk mdf aslinya.. dan sebaiknya sebelumnya di detach terlebih dahulu… kalo yg lain ada cara lain.. please share disini yaa 😉

  15. mas,sy newbie, mau tanya kalau kita sdh buat database baru di folder c:\mssql7\data terus karena hdd mau diformat ulang, sy pindahin ke comp lain di folder d:\data, di enterprise manager nya saya create database baru tapi lokasinya difolder d:\data, lalu saya copy file datanya ke folder tsb, lalu saya aktifin di enterprise manager, databasenya jadi ‘suspected’. Bagaimana caranya agar bisa dipindah ke drive / folder lain dan tetep bisa dibuka di enterprs man.? Trims’ buat pencerahannya. Pls, tolongin yah…. Trim’s banget

  16. caranya sebetulnya sama dengan comment no 4

    exec sp_attach_db @dbname=’SIMRS’,
    @filename1=’C:\MSSQL7\SIMRS_Data.mdf’,
    @filename2=’C:\MSSQL7\SIMRS_Log.ldf’

    keterangan :
    SIMRS adalah nama database, SIMRS_data.mdf dan SIMRS_Log.ldf adalah nama file databasenya. Ganti sesuai database yang akan dipake. truz tanda kutipnya diganti biar gak bikin error, caranya dihapus kutipnya trus kasih kutip lagi

  17. to Angga :
    Pertama, minta ijin dulu ama bos dikantor 😀
    Kedua, cara paling gampangnya melalui Enterprise Manager, langkah-langkahnya sebagai berikut :
    1. Klik kanan nama databasenya
    2. Pilih All Task –> Backup Database (Pilih Full Backup)
    3. Pilih Destination, Lalu klik Ok
    4. Copy ke Flash Disk ato cd ato dll
    5. Di rumah Angga, copy file ke hardisk
    6. Buka Enterprise Manager
    7. Klik Kanan di Folder Databases
    8. Pilih All Task –> Restore Database
    9. Tulis nama database pada “Restore as database ”
    10. Pilih From Device, ambil file dari backup tadi.
    11. Klik ok, lalu tunggu sampe selesai

    Begitu Mas…

    1. to Angga :
      Lanjut dari pertanyaan Moch Firmansyah.

      Masalah backup.
      Bagaimana kalo destination nya lain PC yang terkoneksi ke jaringan ?. Hal ini dikarenakan tidak ada port USB, IDE.

  18. Mau tanya bos, kalo file2 yg extension nya .doc.ldf atau .pdf.ldf format file apa yah terus bagaimana cara bukannya yah..

    Thanks ya bos…

  19. slama ini sy make fungsi attach/dettach untuk berpindah dikomputer dirumah dan kantor. klo dilakukan dengan metode backup/restore berpengaruh gk ya, apa otomatis data dirumah jg dpt terupdate. bisa bermasalah dengan registrasinya ndak???

  20. Minta saran cara restore database dari SQL Server 2005 ke SQL Server 2008 R2, dengan nama server berbeda.waktu restore data SUNDB udah bisa masuk tapi waktu restore DOMAIN gagal?harus dengan nama server yang sama.
    Please help me

  21. Saya mau tanya, bagaimana caranya me restore database tanpa menimpa atau menghapus data lain yang sebelumnya sudah ada di database?

    Terima kasih,

Leave a reply to fujiama Cancel reply

Create a free website or blog at WordPress.com.

Up ↑