Aracılığıyla paylaş


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

Bu makalede, SQL Server'ın sıkıştırılmış sürücülerde 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 ile sıkıştırılmış birimlerde desteklenmez. Sıkıştırılmış birim, kesime hizalanmış yazma işlemlerini garanti etmez ve bazı durumlarda işlem kurtarmayı garanti etmek için bunlar 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ı açmaya ç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 güvenilir işlem kurtarması için kesime göre hizalanmış yazma işlemleri gerekir ve sıkıştırılmış birimler bu senaryoyu desteklemez. İkinci bir sorun da iç kurtarma alanı yönetimiyle ilgilidir. 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 işlem başarılı kurtarmayı engeller.

Bazı senaryolarda, sıkıştırılmış bir birime veya sıkıştırılmış klasöre SQL Server yedeklemesi 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 yetersiz sistem kaynakları var (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 boyuttan fazla büyüyemeyebilir.

Not

  • Windows Vista ve windows'un daha sonraki sürümleri için KB makalesinde 967351 açıklanan 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 Kesimi 1.024 bayttan 4.096 bayt'a çıkar.

Sıkıştırılmış birimlere SQL Server yedeklemeleri disk alanından tasarruf edebilir. Ancak, yedekleme işlemi sırasında CPU kullanımını artırabilir. Veri bütünlüğünü garanti altına almak 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