Ama son zamanlarda her veritabanında birden fazla mdf dosyası bulunan bir sunucuda bazı veritabanına rastladım.
Bunun nedeni yanlış adlandırma kuralıdır. Microsoft, her veritabanının bir birincil veri dosyası olduğunu, ancak yalnızca bir "mdf veri dosyası" olabileceği anlamına gelmediğini, veritabanının .mdf
uzantılı birçok veri dosyasına sahip olabileceğini, ancak yalnızca birisinin birincil veri dosyası olacağını söylüyor. mdf
Birincil veri dosyasına ve ndf
ikincil veri dosyasına doğru sınırlama yapmak için uzantı vermek daha iyidir, ancak birincil veri dosyasına .abc uzantısı verebileceğiniz zor ve hızlı bir kural değildir, böylece tanık olduğunuz şey normaldir. Aslında, istediğiniz herhangi bir uzantıyı verebilirsiniz.
Bir veritabanı için birden fazla .mdf dosyasına sahip olmanın herhangi bir bilgeliği var mı?
Şunu mu demek istediniz:
Bir veritabanı için birden fazla birincil dosyaya sahip olmanın herhangi bir bilgeliği var mı ?
Cevap hayır, bir veritabanında sadece bir adet birincil veri dosyası olabilir.
Ama demek istiyorsan:
Bir veritabanı için birden fazla veri dosyasına (.mdf, .ndf veya farklı adlandırılmış) sahip olmanın herhangi bir bilgeliği var mı ?
Bağlıdır, birden fazla veri dosyasıyla avantaj elde edebilirsiniz. Farklı fiziksel sürücülere yayılmışlarsa (iğlerden bahsediyorum) yazma yoğun uygulama ile bazı avantajlar görürsünüz. Eğer hepsi aynı mantıksal bölümlerde ise, hiçbir avantajı olmaz çünkü altta yatan ortak kaynak kullanırlardı. Dosyaların ve dosya gruplarının kullanılması veritabanı performansını artırır, çünkü bir veritabanının birden çok disk, birden çok disk denetleyicisi veya RAID (yedek bağımsız disk dizisi) sistemleri arasında oluşturulmasına izin verir. Örneğin, bilgisayarınızda dört disk varsa, her diskte bir dosya olmak üzere üç veri dosyasından ve bir günlük dosyasından oluşan bir veritabanı oluşturabilirsiniz. Verilere erişilirken, dört okuma / yazma kafası verilere aynı anda paralel olarak erişebilir.
Gereğince bu MSDN BOL makalesinde
Dosya grupları, her dosya grubundaki tüm dosyalar arasında orantılı bir doldurma stratejisi kullanır. Veri dosya grubuna yazılırken, SQL Server Veritabanı Altyapısı, tüm verileri dolu olana kadar ilk dosyaya yazmak yerine, dosya grubundaki her dosyaya dosyadaki boş alanla orantılı bir miktar yazar. Daha sonra bir sonraki dosyaya yazar. Örneğin, f1 dosyasında 100 MB boş alan varsa ve f2 dosyasında 200 MB boş alan varsa, bir boyut f1 dosyasından, iki dosya f2 dosyasından ayrılır, vb. Bu şekilde, her iki dosya da aynı anda dolar ve basit çizgi elde edilir.
Bildiğim diğer bir avantaj, bunun için tek bir veri dosyanız varsa ve bu veritabanını başka bir sunucuya geri yüklemek istiyorsanız, 1 TB boş alan olduğunu düşünmek. Şimdi aynı veritabanı her biri 250 G boyutunda farklı dosyalara yayılmışsa, restorasyonda daha kolay hale gelir. Bu aslında senaryonuz olmayabilir, ancak bir adet 1 TB diskten dört 250 G sürücüsüne sahip bir sunucu bulmanın çok kolay olmasına yardımcı olur
Birçok veri dosyası yerine farklı dosya gruplarına sahip olmak daha iyi olduğunu söyleyebilirim ama yine de pek çok ortam yok. Birden çok dosya grubundan oluşan veritabanları, parça parça geri yükleme olarak bilinen bir işlemle aşamalar halinde geri yüklenebilir. Parçalı geri yükleme tüm kurtarma modelleriyle çalışır, ancak tam ve toplu olarak kaydedilmiş modeller için basit moda göre daha esnektir. Veritabanındaki dosyalar veya dosya grupları ayrı ayrı yedeklenebilir ve geri yüklenebilir. Bu, veritabanının geri kalanını geri yüklemek zorunda kalmadan yalnızca hasarlı dosyaları geri yüklemenizi sağlar. Dosya grubu yedeklemesindeki dosyalar tek tek veya grup olarak geri yüklenebilir