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.
Ayrıntılar
| Özellik | Değer |
|---|---|
| Ürün Adı | SQL Server |
| Olay Kimliği | 5120 |
| Olay Kaynağı | MSSQLSERVER |
| Bileşen | SQLEngine |
| Sembolik Ad | DSK_FCB_FAILURE |
| İleti Metni | Tablo hatası: "%.*ls" fiziksel dosyası açılamıyor. İşletim sistemi hatası %d: "%ls". |
Explanation
SQL Server bir veritabanı dosyasını açamadı. İletide sağlanan işletim sistemi hatası, hatanın daha belirli temel nedenlerine işaret etti. Bu hatayı genellikle 17204 veya 17207 gibi diğer hatalarla birlikte görebilirsiniz.
Kullanıcı eylemi
İşletim sistemi hatasını tanılayın ve düzeltin, ardından işlemi yeniden deneyin. Microsoft'un üründe alanın oluştuğu alanı daraltma konusunda yardımcı olabilecek birden çok durum vardır.
Erişim reddedildi
İşletim sistemi hatası = 5 alıyorsanız Access is Denied şu yöntemleri göz önünde bulundurun:
Windows Gezgini'nde dosyanın özelliklerine bakarak dosyanın ayarlanan izinlerini denetleyin. SQL Server, çeşitli dosya kaynaklarında Erişim Denetimi sağlamak için Windows gruplarını kullanır. [SQLServerMSSQLUser$ComputerName$MSSQLSERVER veya SQLServerMSSQLUser$ComputerName$InstanceName] gibi adlara sahip uygun grubun, hata iletisinde belirtilen veritabanı dosyasında gerekli izinlere sahip olduğundan emin olun. Daha fazla ayrıntı için Veritabanı Altyapısı Erişimi için Dosya Sistemi İzinlerini Yapılandırma bölümünü gözden geçirin. Windows grubunun SQL Server hizmet başlangıç hesabını veya hizmet SID'sini içerdiğinden emin olun.
SQL Server hizmetinin çalışmakta olduğu kullanıcı hesabını gözden geçirin. Bu bilgileri almak için Windows Görev Yöneticisi'ni kullanabilirsiniz. "sqlservr.exe" yürütülebilir dosyası için "Kullanıcı Adı" değerini arayın. Ayrıca YAKıN zamanda SQL Server hizmet hesabını değiştirdiyseniz, bu işlemi gerçekleştirmenin desteklenen yolunun SQL Server Configuration Manager yardımcı programını kullanmak olduğunu bilin.
İşlemin türüne (sunucu başlatma sırasında veritabanlarını açma, veritabanı ekleme, veritabanı geri yükleme vb.) bağlı olarak, kimliğe bürünme ve veritabanı dosyasına erişim için kullanılan hesap farklılık gösterebilir. Hangi işlemin hangi izni ve hangi hesapları ayarladığını anlamak için Veri ve Günlük Dosyalarının Güvenliğini Sağlama konusunu gözden geçirin. Dosya erişiminin SQL Server örnek hizmeti başlangıç hesabının [veya Hizmet SID] veya kimliğine bürünülen bir hesabın güvenlik bağlamı altında gerçekleşip gerçekleşmediğini anlamak için Windows SysInternals İşlem İzleyicisi gibi bir araç kullanın.
SQL Server ALTER DATABASE veya CREATE DATABASE işlemini yürüten oturum açma bilgilerinin kullanıcı kimlik bilgilerini taklit ediyorsa, İşlem İzleyicisi aracında aşağıdaki bilgileri (bir örnek) fark edeceksiniz.
Date & Time: 3/27/2010 8:26:08 PM Event Class: File System Operation: CreateFile Result: ACCESS DENIED Path: C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\attach_test.mdf TID: 4288 Duration: 0.0000366 Desired Access:Generic Read/Write Disposition: Open Options: Synchronous IO Non-Alert, Non-Directory File, Open No Recall Attributes: N ShareMode: Read AllocationSize: n/a Impersonating: DomainName\UserName
Ağa bağlı bir depolamada bulunan dosyaları ekleme
Ağa bağlı depolama alanında bulunan bir veritabanını yeniden ekleyemiyorsanız, Uygulama günlüğüne bunun gibi bir ileti kaydedilebilir.
Msg 5120, Level 16, State 101, Line 1 Unable to open the physical file "\\servername\sharename\filename.mdf". Operating system error 5: (Access is denied.).
Veritabanı ayrılırken SQL Server dosya izinlerini sıfırladığından bu sorun oluşur. Veritabanını yeniden eklemeye çalıştığınızda, sınırlı paylaşım izinleri nedeniyle bir hata oluşur.
Sorunu çözmek için şu adımları izleyin:
SQL Server'ı başlatmak için -T başlangıç seçeneğini kullanın. SQL Server Configuration Manager'da izleme bayrağı 1802'yi açmak için bu başlangıç seçeneğini kullanın (1802 hakkında bilgi için bkz. DBCC TRACEON ile izleme bayraklarını ayarlama). Başlangıç parametrelerini değiştirme hakkında daha fazla bilgi için bkz. Veritabanı Altyapısı Hizmeti Başlangıç Seçenekleri.
Veritabanını ayırmak için aşağıdaki komutu kullanın.
exec sp_detach_db DatabaseName goVeritabanını yeniden eklemek için aşağıdaki komutu kullanın.
exec sp_attach_db DatabaseName, '\\Network-attached storage_Path\DatabaseMDFFile.mdf', '\\Network-attached storage_Path\DatabaseLDFFile.ldf' go