Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Details
| Attribute | Value |
|---|---|
| Ürün Adı | SQL Server |
| Olay Kimliği | 5009 |
| Olay Kaynağı | MSSQLSERVER |
| Bileşen | SQLEngine |
| Sembolik Ad | ALT_BADDISKS |
| İleti Metni | Açıklamada listelenen bir veya daha fazla dosya bulunamadı veya başlatılamadı |
Explanation
Bu hata, DBCC SHRINK* komutunda ALTER DATABASE veya çözülemeyen bir dosya adı veya dosya kimliği belirttiğinizi gösterir.
Aşağıdaki senaryoyu göz önünde bulundurun:
- Tam veya toplu kayıtlı bir kurtarma modeli kullanan bir Microsoft SQL Server veritabanı'iniz var.
- Veritabanına db_file1 adlı yeni bir veri dosyası eklersiniz.
- Dosyanın
db_file1dosya tipini veri olarak ayarlıyorsunuz. - Dosya türünü yanlış belirttiğinizi fark ediyorsunuz.
- Dosyayı
db_file1kaldırıyorsunuz ve ardından bu veritabanı için işlem günlüğünü yedeklersiniz. - Aynı veritabanına db_file1 adlı yeni bir günlük dosyası eklersiniz.
- db_file1 adlı log dosyasını ifadeyi ALTER DATABASE kullanarak veya SQL Server Management Studio kullanarak kaldırmaya çalışırsınız.
Bu senaryoda, aşağıdakine benzer bir hata iletisi alırsınız:
Mesaj 5009, Seviye 16, Durum 9, Satır 1 Açıklamada listelenen bir veya daha fazla dosya bulunamadı veya başlatılamadı.
Olası nedenler
Bu sorun, kaldırmaya çalıştığınız dosyanın mantıksal adı sistem katalog tablolarında benzersiz değilse ortaya çıkar. Örneğin, bu sorun dosya daha önce veritabanında bulunuyorsa ve dosya kaldırıldıysa ortaya çıkar.
Aynı mantıksal isme sahip bir dosyayı kaldırmaya çalıştığınızda, SQL Server bırakılan mantıklı dosyayı kaldırmaya çalışır. Bu hata mesajına yol açıyor.
Kullanıcı eylemi
Bu sorunu aşmak için şu adımları izleyin.
Note
Bu adımlar dosya kimliği değerlerinin yeniden kullanılmasına neden olur.
ALTER DATABASE Bu ifadeyi kullanarak farklı bir isme ve aynı veri türüne sahip yeni bir mantıksal dosya oluşturun. Örneğin, mantıksal dosyayı
different_remove_file_nameaşağıdaki örnekte olduğu gibi yerinedb_file1' olarak adlandırın:ALTER DATABASE [DBNAME] ADD FILE ( NAME = N'different_remove_file_name', FILENAME = N'D:\MSSQL.1\MSSQL\DATA\db_file1.ndf', SIZE = 1MB, MAXSIZE = 1MB)Note
Herhangi bir dosya adını veya herhangi bir dosya yolunu kullanabilirsiniz.
Aşağıdaki örnekte olduğu gibi, adımda 1'de oluşturduğunuz mantıksal dosyayı kaldırmak için ALTER DATABASE bu ifadeyi kullanın:
ALTER DATABASE [DBNAME] REMOVE FILE [different_remove_file_name]Veritabanının işlem günlüğü yedeklerini oluşturun.
db_file1 adlı mantıksal dosyayı tekrar kaldırmayı deneyin.