MDF dosyasını başka klasöre taşıma

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

MDF dosyasını başka klasöre taşıma

Mesaj gönderen sabanakman »

s.a;
Bir SQL veritabanının .mdf ve _log.ldf dosyalarının yerini attach ve detach işlemine girmeden nasıl değiştirebiliriz?
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

SQL Server detach yapmadan mdf dosyasının taşınmasına izin vermiyor. Eğer sorun aynı dosyayı başka yere taşımak yönündeyse bu sanırım pek olası bişey değil. Ama önce propertiesden dbnin dosyalarının pathi değiştirilip sonra yerleri değiştirilebilir mi? Bilmiyorum, denemek lazım..
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Bu mesajı silemedim, bari bende değiştireyim dedim. Ne de olsa cevap aşağıda :) .
En son sabanakman tarafından 26 Mar 2007 04:48 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Süprizim var.

Mesaj gönderen sabanakman »

Geç gelen adalet adalet değilmiş, meseleyi hallettim ama bundan sonrakiler için cevap olması için nasıl yaptığımı izah edeyim. İlk önce DB'mizin LOG dosyasıyla beraber yedeğini alırız. Mesela bende deneme isimli bir SQL Server DB'si var. Örneği bu DB üzerinden vereceğim:

Kod: Tümünü seç

backup database deneme to disk='c:\dene_yedek.bck'
backup log deneme to disk='c:\dene_yedek_log.bck'
Bu yedek dosyaları oluşturulduktan sonra da restore komutu ile yeni klasöre geri alma işlemi yapınca da DB dosyası taşınmış olur.

Kod: Tümünü seç

RESTORE FILELISTONLY 
   FROM disk = 'c:\dene_yedek.bck'
RESTORE DATABASE deneme
   FROM disk = 'c:\dene_yedek.bck'
   WITH NORECOVERY, 
      MOVE 'deneme_Data' TO 'd:\tmp\deneme_Data.MDF',
      MOVE 'deneme_Log' TO 'd:\tmp\deneme_Log.LDF'
RESTORE LOG deneme
   FROM disk='c:\dene_yedek_log.bck'
   WITH RECOVERY
Burada MOVE 'deneme_Data' ve MOVE 'deneme_Log' kısmındaki ilk parametreler .mdf ve .ldf dosyalarının isimleridir. Bu örnek aynen uygulanırsa deneme_Data.MDF ve deneme_Log.LDF dosyaları deneme DB'si detach edilmeden d:\tmp\ klasörüne taşındığı görülecektir. Tabi deneme DB'si başlangıçta bu klasörde olmamak kaydı ile :) . İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla