Veritabanı denetim noktaları (SQL Server)

Bu konuda genel bir bakış sağlar SQL ServerVeritabanı denetim noktaları. A Denetim bilinen iyi bir noktaya alınacağı yaratır SQL Server Veritabanı Altyapısısonra bir beklenmeyen kapanma ya da kilitlenme kurtarma sırasında günlüğünde bulunan değişiklikleri uygulamadan başlayabilirsiniz.

Bu konuda:

  • Denetim noktaları genel bakış

  • ilişkili Görevler

  • İlişkili İçerik

Denetim noktaları genel bakış

Performans nedenleriyle, Veritabanı Altyapısıveritabanı sayfaları değişiklikler bellekte gerçekleştirir — tampon önbellekteki — ve bu sayfalara her değişiklikten sonra diske yazmaz. Aksine, Veritabanı Altyapısıdüzenli olarak bir denetim noktası her veritabanı sorunları. A Denetim yazıyor geçerli bellekteki sayfaları güncellenmiştir (olarak bilinen kirli sayfaları) ve hareket günlüğü bilgilerini bellekten diske ve ayrıca, işlem günlüğü hakkındaki bilgileri kaydeder.

Veritabanı AltyapısıKontrol noktaları çeşitli türlerini destekler: otomatik, dolaylı, Manuel ve iç. Denetim türleri aşağıdaki tabloda özetlenmiştir.

Ad

Transact-SQLArabirim

Açıklama

Otomatik

exec sp_configure 'Kurtarma aralığı','seconds'

Üst tarafından önerilen süre karşılamak için arka planda otomatik olarak verilen Kurtarma aralığı sunucu yapılandırma seçeneği. Otomatik denetim noktaları tamamlanabilecek. Otomatik denetim noktaları bastırma olağanüstü yazar sayısına göre mi Veritabanı Altyapısıyazma gecikme yukarıda 20 milisaniye içinde artış algılar.

Daha fazla bilgi için, bkz. Kurtarma aralığı sunucu yapılandırma seçeneği yapılandırmak.

Dolaylı

ALTER DATABASE... set TARGET_RECOVERY_TIME = target_recovery_time {seconds | DAKİKA}

Belirtilen veritabanı için bir kullanıcı tarafından belirtilen hedef kurtarma zaman karşılamak için arka planda yayınladı. Varsayılan hedef kurtarma zaman veritabanı üzerinde kullanılmak üzere otomatik denetim noktası heuristics neden 0 ' dır. TARGET_RECOVERY_TIME ayarlamak için alter database kullanmış >0 bu değer kullanılır, sunucu örneği için belirtilen kurtarma aralığı değil.

Daha fazla bilgi için, bkz. Bir veritabanı (SQL Server) hedef kurtarma süresini değiştirme.

El ile

Denetim noktası checkpoint_duration[]

Ne zaman sen idam verilen bir Transact-SQLDenetim komut. El ile denetim noktası geçerli veritabanı bağlantınız için oluşur. Varsayılan olarak, el ile denetim noktaları tamamlanabilecek. Azaltma otomatik denetim noktaları olarak çalışır. Isteğe bağlı olarak, checkpoint_durationparametresi, tamamlamak denetim noktası için saniye cinsinden zaman, istenen bir miktar belirtir.

Daha fazla bilgi için, bkz. Denetim noktası (Transact-sql).

İç

Yok.

Disk yansımalarını günlüğü geçerli durumu maç garanti etmek için yedekleme ve veritabanı anlık görüntü oluşturma gibi çeşitli sunucu işlemleri tarafından.

[!NOT]

-k SQL ServerGelişmiş kurulum seçeneği sağlar veritabanı yöneticisi gaz denetim noktasına I/o alt sisteminin denetim noktaları bazı türleri için üretilen temel I/O davranış. -K otomatik denetim noktaları ve herhangi bir kurulum seçeneği geçerlidir yoksa manuel ve iç denetim noktaları unthrottled.

Otomatik, Manuel ve iç denetim noktaları, yalnızca en son denetim noktası sonra yapılan değişiklikler alınması gereken veritabanı kurtarma sırasında ileri. Bu bir veritabanını kurtarmak için gereken süreyi azaltır.

Önemli notÖnemli

Uzun süren kaydedilmemiş hareketleri kontrol noktaları her türlü kurtarma süresini artırın.

[Üst]

Bu bölümde:

  • TARGET_RECOVERY_TIME etkileşim ve 'Kurtarma aralığı' Seçenekler

  • Otomatik denetim noktaları

  • Dolaylı denetim noktaları

  • İç denetim noktası

TARGET_RECOVERY_TIME etkileşim ve 'Kurtarma aralığı' Seçenekler

Aşağıdaki tabloda, sunucu bazındaki arasındaki etkileşimi özetlenmektedir sp_configure 'Kurtarma aralığı' ayarı ve veritabanına özgü veritabanını değiştir... TARGET_RECOVERY_TIME ayar.

TARGET_RECOVERY_TIME

'Kurtarma aralığı'

Kullanılan Checkpoint türü

0

0

otomatik denetim noktaları, hedef kurtarma aralığı 1 dakikadır.

0

>0

Otomatik denetim noktaları, hedef kurtarma aralığı belirtilen kullanıcı tarafından tanımlanan ayarı sp_configure Kurtarma aralığı seçeneği.

>0

Uygulanamaz.

Dolaylı denetim noktaları olan hedef kurtarma süresini saniye olarak TARGET_RECOVERY_TIME ayarı tarafından belirlenir.

Otomatik denetim noktaları

Otomatik bir denetim noktası günlük kayıtları sayısı sayısı ulaştığı her zaman ortaya Veritabanı Altyapısıiçinde belirtilen süre boyunca işleyebilir tahminleri Kurtarma aralığı sunucu yapılandırma seçeneği. Her veritabanında bir kullanıcı tanımlı hedef kurtarma süresi olmadan Veritabanı Altyapısıotomatik denetim noktaları oluşturur. Otomatik denetim noktaları sıklığını bağlı Kurtarma aralığı Gelişmiş sunucu yapılandırma seçeneği, belirtilen sunucu örneği, bir sistem yeniden başlatma sırasında bir veritabanını kurtarmak için kullanmanız gereken en uzun süreyi belirtir. Veritabanı AltyapısıTahminleri, Kurtarma aralığı içinde işleyebilir günlük kayıtları sayısı. Otomatik denetim noktaları kullanarak bir veritabanı günlük kayıtları, bu sayısını ulaştığında Veritabanı Altyapısıbir denetim noktası veritabanında sorunlar. Otomatik denetim noktaları arasındaki zaman aralığını, son derece değişken olabilir. Bir veritabanı ile önemli işlem yükünü daha sık kontrol noktaları daha öncelikle salt okuma işlemleri için kullanılan bir veritabanı olacaktır.

Günlük yüzde 70 olur ise de, basit kurtarma modeli altında otomatik bir denetim noktası da sıraya.

Sürece bazı faktör Günlük kesilme, geciktirmek basit kurtarma modeli altında otomatik bir denetim noktası işlem günlüğü kullanılmayan kısmını keser. Günlük yedekleme zinciri kurulduktan sonra buna karşılık, tam ve toplu oturum kurtarma modelleri altında otomatik denetim noktaları Günlük kesilme neden olmaz. Daha fazla bilgi için, bkz. İşlem günlüğü (SQL Server).

Bir sistemin çökmesinden sonra belirli bir veritabanını kurtarmak için gereken süreyi çökmesi anda kirli sayfaları yinelemek için gereken rasgele ı/O miktarını büyük ölçüde bağlıdır. Bu demektir ki Kurtarma aralığı ayarı güvenilmez. Bir doğru kurtarma süresini belirleyemez. Ayrıca, otomatik bir denetim noktası devam ederken, genel g/Ç etkinliği için veri önemli ölçüde ve unpredictably oldukça artar.

[Üst]

Kurtarma aralığı kurtarma performansı üzerindeki etkisi

İçin bir çevrimiçi işlem işleme (oltp) sistemi kısa hareketleri kullanarak Kurtarma aralığı kurtarma süresini belirleyen birincil faktör. Ancak, Kurtarma aralığı seçeneği, uzun süren işlem geri almak için gereken süreyi etkilemez. Uzun süren işlem ile bir veritabanı kurtarma belirtilen dönemden çok daha uzun alabilir içinde Kurtarma aralığı seçeneği. Örneğin, uzun süren işlem sunucuyu devre dışı oldu önce güncelleştirmeleri gerçekleştirmek için iki saat sürdü, gerçek kurtarma önemli ölçüde uzun sürer Kurtarma aralığı uzun işlem kurtarmak için değer. Kurtarma zaman uzun süren bir işlem etkisi hakkında daha fazla bilgi için bkz: Factors That Can Delay Log Truncation.

Genellikle, varsayılan değerleri, en iyi kurtarma performansı sağlar. Ancak, Kurtarma aralığı değiştirme aşağıdaki durumlarda performansını:

  • Eğer kurtarma düzenli olarak önemli ölçüde zaman uzun süren işlemler geri alınır değil 1 dakika uzun sürer.

  • Eğer fark bu sık sık kontrol noktaları veritabanı performans bozulması.

Artırmak isterseniz recovery intervalayarı, yavaş yavaş küçük artırmalarla artan her artımlı bir artış kurtarma performans üzerindeki etkisini değerlendirmek öneririz. Bu yaklaşım önemlidir çünkü olarak Kurtarma aralığı artışlar ayarı, veritabanı kurtarma, tamamlamak için birçok kez uzun sürer. Örneğin, eğer değiştirmek Kurtarma aralığı 10, kurtarma ne zaman tamamlanması yaklaşık 10 kat daha uzun süre alır Kurtarma aralığı sıfır olarak ayarlanır.

[Üst]

Dolaylı denetim noktaları

Dolaylı denetim noktaları, yeni SQL Server 2012, yapılandırılabilir bir veritabanı düzeyinde alternatif için otomatik denetim noktaları sağlar. Bir sistem çökmesi durumunda, potansiyel olarak daha hızlı, daha öngörülebilir kurtarma süresini otomatik denetim noktaları daha dolaylı denetim noktaları sağlar. Dolaylı denetim noktaları aşağıdaki avantajları sağlar:

  • Dolaylı denetim noktaları genel veritabanı kurtarma süresini azaltabilir.

  • Dolaylı denetim noktaları rasgele g/ç maliyeti Yinele sırasında Faktoring tarafından güvenilir denetim veritabanı kurtarma süresi etkinleştirin. Bu bir üst sınır (dışında zaman uzun süren işlem aşırı geri alma süreleri neden olur) belirli bir veritabanı için kurtarma zamanları içinde kalmak sunucu örneği sağlar.

  • Dolaylı denetim noktaları, arka planda diske denetim noktası ile ilgili I/O sürekli kirli sayfaları yazarak spiking azaltın.

Ancak, bir çevrimiçi işlem yükünü dolaylı denetim noktaları yapılandırılmış veritabanı performans düşüşü deneyim olabilir. Bunun nedeni, bazen dolaylı denetim noktası tarafından kullanılan arka plan yazar bir sunucu örneği için toplam yazma yükünü artırır.

[Üst]

İç denetim noktaları

İç denetim noktaları, disk yansımalarını günlüğü geçerli durumu maç garanti etmek için çeşitli sunucu bileşenleri tarafından oluşturulur. İç denetim, yanıt olarak aşağıdaki olaylar oluşturulur:

  • Veritabanı dosyaları eklenmiş veya alter database kullanarak kaldırıldı.

  • Veritabanı yedeği alınır.

  • Veritabanı anlık görüntüsü, ister açıkça veya dahili olarak dbcc denetlemek için oluşturulur.

  • Bir veritabanını kapatma gerektiren etkinlik gerçekleştirilir. Örneğin, auto_close on olarak veritabanı son kullanıcı bağlantı kapatılır ve veritabanını yeniden başlatılmasını gerektiren bir veritabanı seçeneği değişiklik yapıldıktan.

  • Örneğini SQL Servertarafından durdurulması durduruldu SQL Server(mssqlserver) hizmeti. Bir denetim noktası ya da eylem her veritabanı örneği neden SQL Server.

  • Getiren bir SQL ServerYük devretme küme örneği (FCI) çevrimdışı.

[Üst]

ilişkili Görevler

Kurtarma aralığı sunucu örneği değiştirmek için

Dolaylı denetim noktaları bir veritabanını yapılandırmak için

El ile denetim noktası veritabanı yayın için

[Üst]

İlişkili İçerik

[Üst]

Ayrıca bkz.

Kavramlar

İşlem günlüğü (SQL Server)