Selasa, 20 Januari 2015

Bagaimana menyematkan (attach) kembali sebuah database (.mdf) tanpa log-file (.ldf) ?



Langkah 1
Buat sebuah database baru dengan nama yang sama, dan juga menggunakan nama file yang sama dengan yang lama pada server baru.

Langkah 2
Berhentikan servis SQL Server, kemudian pindahkan file .mdf dan timpakah ke file yang baru anda buat sebelumnya. Hapus log file yang ada (.ldf).



Berikut adalah langkah-langkah (khusus) untuk SQL Server 2000

Langkah 3
Jalankan servis SQL Server dan tempatkan database anda ke dalam mode emergency.

sp_configure 'allow updates', 1
go

reconfigure with override
go

update sysdatabases set status = 32768 where name = 'TestDB'
go

sp_configure 'allow updates', 0
go

reconfigure with override
go

Langkah 4
Berhentikan dan Jalankan kembali servis SQL Server dan perhatikan bahwa database sudah sukses berada pada mode emergency

Langkah 5
Jalankan perintah dbcc option (undocumented command) untuk membuat kembali log file (pada tempat yang benar)

DBCC REBUILD_LOG(TestDB,'D:\SQL_Log\TestDB_log.ldf')

Langkah 6
Set ulang statusnya (tidak mutlak diperlukan, tapi tidak masalah jika dilakukan)

exec sp_resetstatus TestDB

Langkah 7
Hentikan dan Jalankan servis SQL Server dan lihat kembali database yang baru anda pulihkan kembali.


Berikut adalah langkah-langkah (khusus) untuk SQL Server 2005/2008/2012

Langkah 3
Perhatikan "dbid" dari database yang anda tuju dengan perintah berikut

select * from sys.sysdatabases

Langkah 4
Perhatikan nama file database fisik (.mdf dan .ldf) dengan memasukkan angka yang anda dapatkan dari "dbid" yang anda dapatkan dari langkah 3

select name,filename from sys.sysaltfiles where dbid = '15'

Langkah 5
tempatkan database anda ke dalam mode emergency dan single-user

alter database ppayrollne set emergency
go
alter database ppayrollne set single_user
go

Langkah 6
Jalankan perintah berikut untuk membuat kembali log file (pada tempat yang benar)

alter database TestDB rebuild log on
(name='TestDB', filename='D:\SQL_Log\TestDB_log.ldf')

Langkah 7
Kembalikan mode database anda ke posisi online.

alter database ppayrollne set online

Langkah 8
Hentikan dan Jalankan servis SQL Server dan lihat kembali database yang baru anda pulihkan kembali.

Tidak ada komentar:

Posting Komentar