Sıkıştırılmış birimlerdeki SQL Server veritabanları için destek açıklaması

Bu makalede, sıkıştırılmış sürücülerde SQL Server veritabanı dosya depolama davranışı açıklanmaktadır.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 231347

Özet

SQL Server veritabanları, SQL Server 2005 ve sonraki sürümleri için özel koşullar dışında NTFS veya FAT sıkıştırılmış birimlerinde desteklenmez. Sıkıştırılmış birim, kesime hizalanmış yazmaları garanti etmez ve bunlar bazı durumlarda işlem kurtarmayı garanti etmek için gereklidir.

SQL Server 2005 ve sonraki sürümlerde, sıkıştırılmış sürücülerde veritabanı dosya depolaması aşağıdaki gibi davranır:

  • Veri dosyanız salt okunur bir dosya grubuna aitse, dosyaya izin verilir.

  • Veri dosyanız salt okunur bir veritabanına aitse, dosyaya izin verilir.

  • İşlem günlüğü dosyanız salt okunur bir veritabanına aitse, dosyaya izin verilir.

  • Sıkıştırılmış sürücüdeki dosyaları içeren bir okuma/yazma veritabanı oluşturmaya çalışırsanız SQL Server aşağıdaki hatayı oluşturur:

    Msg 5118, Düzey 16, Durum 2, Satır 1 "<file_name>" dosyası sıkıştırılır, ancak salt okunur bir veritabanında veya dosya grubunda yer almaz. Dosya açılmalıdır.

SQL Server 2008'de salt okunur veritabanları ve salt okunur dosya grupları için dışlamalar hakkında daha fazla bilgi için aşağıdaki MSDN web sitesine gidin:

Salt Okunur Dosya Grupları ve Sıkıştırma

Not

Bu konu, SQL Server 2012 ve sonraki sürümler için de geçerlidir.

Daha fazla bilgi

Sıkıştırılmış birimlere SQL Server veritabanları eklemek fiziksel olarak mümkün olsa da, bunu önermeyiz ve desteklemiyoruz. Bunun temel nedenleri şunlardır:

  • Performans

    Sıkıştırılmış birimlerdeki veritabanları önemli performans ek yüküne neden olabilir. Miktar, G/Ç hacmine ve okumaların yazma işlemlerine oranına bağlı olarak değişir. Ancak bazı koşullarda yüzde 500'ün üzerinde düşüş gözlemlendi.

  • Veritabanı kurtarma

    Veritabanının işlem açısından güvenilir bir şekilde kurtarılması için kesime uygun yazma işlemleri gerekir ve sıkıştırılmış birimler bu senaryoyu desteklemez. İkinci bir sorun da iç kurtarma alanı yönetimiyle ilgili. SQL Server, geri alma işlemleri için veritabanı dosyalarında önceden ayrılmış alanı dahili olarak ayırır. Sıkıştırılmış birimlerde önceden ayrılmış dosyalarda Yer Yetersiz hatası almak mümkündür ve bu da kurtarmanın başarılı olmasını engeller.

Bazı senaryolarda, sıkıştırılmış bir birime veya sıkıştırılmış klasöre SQL Server yedekleme işlemi başarılı olmaz. Bu sorun oluştuğunda aşağıdaki hata iletilerinden birini alırsınız.

  • Windows Vista'da ve Windows'un sonraki sürümlerinde

    STATUS_FILE_SYSTEM_LIMITATION İstenen işlem dosya sistemi sınırlaması nedeniyle tamamlanamadı
    İşletim sistemi hatası 665(İstenen işlem dosya sistemi sınırlaması nedeniyle tamamlanamadı)

  • Windows'un önceki sürümlerinde

    STATUS_INSUFFICIENT_RESOURCES istenen hizmeti tamamlamak için sistem kaynakları yetersiz İşletim sistemi hatası 1450(İstenen veya 33'ün tamamlanması için sistem kaynakları yetersiz.) (Başka bir işlem dosyanın bir bölümünü kilitlediğinden işlem dosyaya erişemiyor.)

Bu sorun hakkında daha fazla bilgi için bkz. NTFS birimindeki yoğun parçalanmış bir dosya belirli bir boyutun ötesine geçemeyebilir.

Not

  • Kb makalesinde 967351 açıklanan Windows Vista ve sonraki Windows sürümlerine yönelik düzeltme, sıkıştırılmış bir birime veya sıkıştırılmış klasöre başarılı olmayan SQL Server yedeklemeleri sorununu çözemeyebilir. Ancak, bu düzeltme soruna aracılık etmeye yardımcı olur.
  • 967351 KB makalesinde açıklanan düzeltmeyi uyguladıktan sonra, parametresini kullanarak /L sıkıştırmanın etkinleştirildiği sürücüyü biçimlendirmeniz gerekir. parametresini kullanarak /L sıkıştırmanın etkinleştirildiği sürücüyü biçimlendirdiğinizde, Dosya Başına Bayt Kayıt Segmenti 1.024 bayttan 4.096 bayt'a çıkar.

Sıkıştırılmış birimlere SQL Server yedeklemeler disk alanından tasarruf edebilir. Ancak, yedekleme işlemi sırasında CPU kullanımını artırabilirler. Veri bütünlüğünü garanti etmeye yardımcı olması için HER zaman BACKUP sağlama toplamı olanaklarını kullanmanızı öneririz.

SQL Server, SQL Server G/Ç Güvenilirlik Programı Gereksinimleri'nde açıklandığı gibi sistemlerin kararlı medyaya garantili teslimi desteklemesini gerektirir.

SQL Server veritabanı altyapısının giriş ve çıkış gereksinimleri hakkında daha fazla bilgi için bkz. Microsoft SQL Server Veritabanı Altyapısı Giriş/Çıkış gereksinimleri