27 Mayıs 2009 Çarşamba

"Unable to open the physical file "xxx.mdf". Operating system error 5: "5(failed to retrieve text for this error. Reason: 15105)". (Microsoft SQL Serv

HATA MESAJI:
"Unable to open the physical file "xxx.mdf". Operating system error 5: "5(failed to retrieve text for this error. Reason: 15105)". (Microsoft SQL Server, Error: 5120)"

AÇIKLAMA:
SQL Server Management Studio (SSMS) kullanarak bir veritabanını iliştirmek (attach) istediğinizde böyle bir hata mesajı ile karşılaşabilirsiniz.

ÇÖZÜM:
Bu hatanın, UAC (User Access Control) özelliğinin etkin olduğu Windows Vista işletim sistemlerindeyken alındığını gördüm.

Bu hata mesajını almadan veritabanınızı SQL Server Instance' ınıza SSMS ile eklemek için SSMS' i açacağınız zaman SSMS simgesi üzerindeyken farenin sağ tuşuna tıklayıp "Yönetici olarak çalıştır" (Run as Administrator) öğesini seçerek açmanız gerekiyor.

Ya da, UAC özelliğini etkisiz (disable) hale getirirseniz, SSMS' i yönetici olarak çalıştırmadan da bu hata mesajından sıyrılabilirsiniz.

14 yorum:

Adsız dedi ki...

teşekkürler

Adsız dedi ki...

tşk ederim

Adsız dedi ki...

değişen bi şey olmadı. windows 7 kullanıyorum. veritabanını ssms'da attach edemedim aynı hatayı alıyorum

Ekrem Önsoy dedi ki...

Birebir bu hatayı mı alıyorsun merak ettim? Çünkü bu hata mesajı, bu yazımdaki sorun nedeniyle çıkıyor.

Eğer buna benzer, fakat biraz da olsa (???) farklı bir hata mesajı alıyorsan, o zaman sorun ya veritabanının versiyonunun, SQL Server Instance' ının versiyonundan yüksek olması; ya veritabanı dosyalarının bozuk (Corrupt) olması vb. nedenlerden de kaynaklanıyor olabilir.

Ben bu hata mesajını aldığımda, sorun, açıkladığım gibiydi.

Unknown dedi ki...

çalışmanız için öncelikle çok teşekkür ediyorum.ssms ile veritabanıma bağlanmak isterken
bende birebir bu hatayı alıyorum. işletim sistemim xp ancak ben bu hatayı data dosyalarının yerlerini değiştirdikten sonra almaya başladım.eski dizini deattach edip yeni dizini attach ettiğim halde durum değişmiyor.işletim sistemim xp olduğu için herhangi bir güvenlik sorunum falanda yok ayrıca çalışan bir antivirus programı yada bu hataya neden olabilecek başka bir durumda yok.bu sorunla ilgili olarak nasıl bir çözüm getirirsiniz.
iyi çalışmalar diliyorum...

Adsız dedi ki...

Teşekkürer, geçerli bir yöntem.

Adsız dedi ki...

tşkler faydalı oldu :)

Alexis dedi ki...

Dün tatsız zor durumda idi. Bütün sql. Mdf dosyaları bozulmuş idi. Ve Google kullanılan ve orada gördüm - best .mdf file repair utility. Yeni saniye benim problem çözüldü ve ücretsizdir aklımda delik gibi.

Emre KIYAK dedi ki...

Merhaba. veritabanı düzenli yedek alınması için bi job yazdım. aynı hatayı alıyorum. server 2008 işletim sisteminde çalışıyor uygulama. sql 2008 bu arada. backup kodunun bi örneğini bırakıyorum

BACKUP DATABASE [TestDB] TO
DISK = N'C:\DbBakcup\TestDB.bak'
WITH NOFORMAT, NOINIT, NAME = N'TestDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

Adsız dedi ki...

Sağolun, bir süredir uğraşıyorduk :)

Adsız dedi ki...

harikasın işimi gördü.

Ekrem Önsoy dedi ki...

Selam Emre,

Bu komut ile bu hatanın alınması ile ilgili aklıma gelen tek bağlantı, bu komutu çalıştırdığın kullanıcının ilgili veritabanının bulunduğu klasöre erişim hakkının olmayışı. Bunu bir kontrol et istersen.

Ekrem Önsoy dedi ki...

Selam Mustafa,

SQL Server servisi için kullandığın Windows hesabının, veritabanı dosyalarını taşıdığın klasöre izni olduğundan emin ol. Muhtemelen sorun bundan kaynaklanıyordur.

Süleyman dedi ki...

teşekkürler ekrem bey.