Geliştirme
TLinuxLinux üzerinde SQL ServerSQL Server 2017 kullandığınızı varsayalım. Bazı senaryolarda, SQL Server geçici önbelleklerin kullanıldığı sistemlerde veri kaybıyla karşılaşabilirler. Kayıp, önbelleğe alınan veriler kararlı bir ortama yazılmadan önce elektrik kesintisi gibi öngörülemeyen durumlar nedeniyle oluşur. Bu tür senaryoları önlemek için, Linux'te SQL Server 2017 için Toplu Güncelleştirme 6'da (CU6) bir zorlamalı yıkama mekanizması kullanıma sunulmuştur. Depolama alt sisteminiz güç kaybı boyunca dayanıklı yazmaları garanti edemiyorsa, SQL ServerSQL Server 2017 için CU6'yı LinuxLinux üzerinde uygulamanızı öneririz.
Bu güncelleştirme ile şunlar etkinleştirilir:
- Denetim noktası ve işlem günlüğü yazma işlemleri gibi veritabanı yazma etkinliği sırasında zorunlu temizleme davranışı.
- Varsayılan olarak writethrough=1 ve alternatewritethrough=1 yapılandırma ayarı seçenekleri. Bu varsayılan ayarlar, SQL Server yazma işlemlerinin cihazları engellemek için dayanıklı bir şekilde temizlendiğinden emin olmalarını sağlar. Alternatif yazma , dosya sistemine yapılan temizleme isteklerinin dayanıklılığını iyileştirmek için bir seçenektir. İki ayar hakkında daha fazla bilgi için aşağıdaki tabloya bakın:
| Ad | Default | Açıklama |
|---|---|---|
| yazma | 1 | Geçerli değerler 0 ve 1'dir. 1 = FILE_FLAG_WRITE_THROUGH istekleri O_DSYNC açılışlarına çevirir. 0 = FILE_FLAG_WRITE_THROUGH isteklerinin O_DSYNC açılmasına çevrilmesini engeller. |
| AlternateWriteYine de | 1 | Geçerli değerler 0 ve 1'dir. 1 = FILE_FLAG_WRITE_THROUGH istekleri için Ana Bilgisayar Uzantısı tarafından iyileştirilmiş temizlemeyi etkinleştirir. Dosyalara yazma(lar), blok cihazı için fdatasync'e yapılan çağrıları optimize eder. 0 = Alternatif yıkama optimizasyonunu devre dışı bırakır. Dosya O_DSYNC kullanılarak açılır ve temel alınan dosya sistemi gerekli yazma, temizleme isteklerini gerçekleştirir. Notlar AlternateWritethrough ayarı yalnızca writethrough=1 olduğunda geçerlidir. |
Daha Fazla Bilgi
Daha fazla bilgi için yüksek frekanslı yazma iş yüklerini ve veritabanı dosya yerleşimi önerilerini işleme Linux için SQL Server 2017 için en iyi performans yöntemleri ve yapılandırma kılavuzları konusuna bakın.
Yazma işlemlerinin O_DIRECT güvenli olduğunu garanti eden depolama sistemlerinde çalışan SQL Server yüklemeler, izleme bayrağı (TF) 3979'un zorla temizleme davranışını devre dışı bırakmasını etkinleştirebilir ve mssql.conf dosyasındaki alternatif yazma ve yazma seçeneklerini SIFIR olarak ayarlayabilir. Bu, SQL Server 2017'yi CU6 öncesi davranışa döndürür.
Notlar Bir depolama sistemi, cihaza verilen yazma işlemlerinin sistem kilitlenmeleri, arabirim sıfırlamaları ve güç kesintileri boyunca devam edecek bir ortamda tutulmasını ve ortamın kendisinin donanım yedekli olmasını garanti ederek önbelleğe alınmış veya aşamalı yazma işlemlerinin güvenli ve dayanıklı olarak kabul edilmesini sağlayabilir.
Bu değişikliklerle dosya G/Ç için SQL Server davranışı hakkında daha fazla ayrıntı aşağıda verilmiştir:
- Veritabanı (.mdf) ve işlem günlüğü (.ldf) dosyaları, zorla temizleme davranışını kullandıklarından CU6'da varsayılan olarak yazma ve alternatif yazma kullanmaz. TF 3979, veritabanı ve işlem günlüğü dosyaları için zorunlu temizleme davranışının kullanımını devre dışı bırakır ve yazma ve alternatif yazma mantığını kullanır.
- Veritabanı anlık görüntüleri, veritabanı tutarlılığı denetimleri için iç anlık görüntüler (CHECKDB), profil oluşturucu izleme dosyaları ve genişletilmiş olay izleme dosyaları gibi SQL Server'de FILE_FLAG_WRITE_THROUGH kullanılarak açılan diğer dosyalarda yazma ve alternatif yazma iyileştirmeleri kullanılır.
Çözüm
Bu güncelleştirme, aşağıdaki SQL Server toplu güncelleştirmesine eklenmiştir:
Cumulative Update 6 for SQL ServerSQL Server 2017
SQL Server toplu güncelleştirmeleri hakkında:
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
En son toplu güncelleştirme SQL ServerSQL Server 2017
Başvurular
Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.