Sayfa Yazma

Bir örneğinden ı/o Database Engine mantıksal ve fiziksel yazma işlemleri içerir. Veri sayfasında bir değişiklik yapıldığında, mantıksal bir yazma oluşuyor Arabellek önbelleği.Fiziksel bir yazma, sayfa arabelleğe önbelleğinden diske yazıldığında oluşur.

Bir sayfa arabellek önbelleğinde değişiklik yapıldığında, onu hemen geri yazılır değil disk; bunun yerine sayfa olarak işaretlenmiş kirli.Bu sayfa fiziksel yazılmadan önce yapılan birden fazla mantıksal yazma yapabilen anlamýna gelir diske.Her mantıksal yazmak için bir işlem günlük kaydı günlük önbelleğinde değişikliği kaydeden eklenir.The log records must be written to disk before the associated dirty page is removed from the buffer cache and written to disk.SQL Server uses a technique known as write-ahead logging that prevents writing a dirty page before the associated log record is written to disk.Bu, Kurtarma yöneticisinin doğru çalışan için gereklidir.Daha fazla bilgi için bkz:Yazma ileriye hareket kütüğü.

Aşağıdaki resimde, değiştirilen bir veri sayfa yazma işlemi gösterir.

Writing a modified data page.

Arabellek yöneticisine bir sayfa yazdığında, bir tek toparla yazma işleminde bulunan bitişik kirli sayfaları arar.Bitişik sayfaları ardışık sayfa kimlik sahip ve aynı dosyayı; sayfaları bellekte bitişik olması gerekmez.Aşağıdaki olaylardan biri oluşana kadar aramayı her ikisi de ileri ve geri eder:

  • Temiz bir sayfa buldu.

  • 32 sayfaları bulunamadı.

  • Günlük sıra numarası (SSN) henüz günlüğe temizlendi değil kirli sayfa bulunamadı.

  • Bir sayfa, hemen latched edemiyor bulunamadı.

Bu şekilde, tüm sayfaları kümesini tek toplayarak yazma işlemi diske yazılabilir.

Yalnızca bir sayfa olarak da yazılmadan önce form veritabanında belirtilen sayfa koruma sayfasına eklenir.Bozuk sayfa koruma eklediyseniz, sayfa olmalıdır EX(clusively) g/Ç için latched.Bozuk sayfa koruma okumak başka iş parçacığı için uygun hale getirme, sayfanın değiştirir olmasıdır.Sağlama toplamı sayfa koruma eklenir veya veritabanı yok sayfa koruması kullanır, sayfayı bir UP(tarih) mandal ile g/Ç için latched.Bu mandal başkalarının sayfa yazma sırasında değiştirmesini engeller, ancak yine de kullanmak, okuyucular.Disk g/Ç sayfa koruma seçenekleri hakkında daha fazla bilgi için bkz: Arabellek yönetimi.

Bir kirli sayfa, üç yoldan biriyle diske yazılır.

  • Yavaş yazma

    Yavaş yazıcı arabellek önbelleğinden kullanılan sayfaları nadiren kaldırarak serbest arabellekleri kullanılabilir tutar bir sistem işlemi ' dir.Dirty sayfaları önce yazma diske.

  • Dinleyicilerle yazılıyor

    Dinleyicilerle yazma işlemi nonlogged toplu gibi işlemlerle ilişkili kirli veri sayfaları Ekle ve içine seçin yazar.Bu işlem, oluşturma ve paralel gerçekleşebilmesi için yeni sayfalar yazma sağlar.Diğer bir deyişle, arama işlemi sayfaları diske yazmadan önce tüm işlem bitene kadar bekleyin yok.

  • denetim noktası

    Denetim noktası işlemi düzenli olarak belirtilen veritabanından sayfası arabellekleri için arabellek önbellek tarar ve tüm kirli sayfaları diske yazar.Denetim noktaları kaydetmek saat yazılmamış için tüm kirli sayfaları alınabileceğine bir noktası oluşturarak bir sonraki kurtarma sırasında disk.Kullanıcı DENETIMNOKTASı komutunu kullanarak bir denetim noktası işlemi isteyebilir veya Database Engine Otomatik denetim noktaları dayalı olarak kullanılan günlük büyüklüğünü ve saat son denetim noktası bu yana geçen oluşturabilir. Buna ek olarak, belirli etkinlikler ortaya çıktığında bir denetim noktası oluşturulur.Örneğin, bir veri veya günlük dosyası eklendiğinde veya veritabanından kaldırıldı veya zaman örnek SQL Server durduruldu. Daha fazla bilgi için bkz:Denetim noktaları ve günlük Active bölümü.

    Yavaş yazma, dinleyicilerle yazma ve denetim işlemleri için g/Ç işlemi tamamlamak bekleyin.Bunlar her zaman g/Ç zaman uyumsuz (veya çakışan) kullanın ve daha sonra g/Ç başarı için denetimi başka iş ile devam edin.Bu izin verir. SQL Server her ikisi de CPU ve g/Ç kaynakları uygun görevlerle ilgili en iyi duruma getirmek için .

See Also

Concepts