Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

SQL Server'daki veri güvenilirliğini artıran günlük ve veri depolama algoritmaları açıklaması

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 230785
Özet
Bu makalede, Microsoft SQL Server günlük ve veri algoritmaları veri güvenilirliğini ve bütünlüğü genişletmek nasıl anlatılmaktadır.

ARIES (algoritma) kurtarma ve yalıtım semantiği yararlanmasını ve alt yapılarının temel kavramları hakkında daha fazla bilgi için aşağıdaki ACM hareketleri veritabanı sistemleri belge (altında "Volume 17, sayı 1, Mart 1992) bakın:

Müşteri adayı bu belgenin C. Mohan yazardır. Belgenin veri güvenilirliğini ve bütünlük hataları ilgili olarak genişletmek için SQL Server teknikleri ele alır.

Önbelleğe alma hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki aşağıdaki makaleleri okumanızı öneririz ve diğer hata modu Tartışmaları:
86903 SQL Server disk denetleyicileri önbelleğe alma açıklaması
234656 Her veritabanı yöneticisi bilmeniz gereken disk sürücüsü kullanma hakkında bilgi için SQL Server ile önbelleğe alır
Daha fazla bilgi
Biz ayrıntılı tartışma başlamadan önce bazı bu makalede kullanılan terimler aşağıdaki tabloda tanımlanmıştır.
TerimTanım
Pil destekliVeri kaybını önlemek için ayrı ve yerelleştirilmiş pil yedekleme özelliği doğrudan kullanılabilir ve önbelleğe alma düzeneği tarafından denetlenen.
Not: Kesintisiz güç kaynağı (UPS) değil. UPS yazma faaliyetleri garanti etmez ve önbelleğe alma aygıt bağlantısı kesildi.
ÖnbellekFiziksel g/ç işlemlerini en iyi duruma getirme ve performansı artırmak için kullanılan geçici saklama mekanizması.
Kirli sayfasıHenüz kararlı depolama birimine kopyalanması gereken veri değişiklikleri içeren sayfa. Kirli sayfası arabellekleri hakkında daha fazla bilgi için bkz: "Sayfa yazmaadresindeki SQL Server Books Online'da "konusu.
Not: İçeriğin Microsoft SQL Server 2012 ve sonraki sürümleri için de geçerlidir.
HatasıHerhangi bir şeyi SQL Sunucu işleminin beklenmedik bir kesintisine neden olabilir. Örnekler: güç kesintisi, bilgisayar reset, bellek hataları, diğer donanım sorunları, bozuk kesimleri, sürücü kesintileri, sistem hataları ve benzeri.
TemizlemeKararlı depolama için bir önbellek arabellek zorlanıyor.
MandalBir kaynak fiziksel tutarlılığını korumak için kullanılan eşitleme nesnesi.
Kalıcı depolamaSistem hataları kullanılabilir durumda kalır herhangi bir ortamda.
Sabitlenmiş sayfaKalan verileri önbelleğe ve tüm ilişkili günlük kayıtları kararlı depolama konumunda güvenlik altına kadar kararlı depolama birimine kopyalanması olamaz sayfası.
Kararlı depolamaKalıcı depolama ile aynıdır.
Geçici depolamaHatalar arasında sağlam kalacak değil herhangi bir ortamda.

Yazma üretim günlüğü (WAL) iletişim kuralı

Terim Protokolü WAL açıklamak için mükemmel bir yoldur. Belirli bir durumda ve bu verileri emin olmak gereken adımları uygulama tanımlı kümesi depolanan ve doğru değişimi ve bir başarısızlık durumunda bilinen bir duruma geri yüklenebilir. Bu nedenle korunan ve tutarlı bir biçimde veri alışverişi yapmak için tanımlanmış bir iletişim kuralı bir ağ içeren gibi çok WAL verileri korumak için protokol tam olarak açıklıyor mu.

ARIES belge WAL gibi tanımlar:
WAL protokol değiştirilmiş veriyi kalıcı depolama birimindeki verilerin önceki sürümü değiştirmek için izin verilmeden önce bazı veri değişiklikleri gösteren günlük kayıtları zaten kararlı deposunda olması gerektiğini ileri sürüyor. Yani, sistem en az kadar sayfa kalıcı depolama sürümü güncelleştirilmiş sayfa yazmak için izin verilmez sayfaya güncelleştirmeleri açıklayan günlük kayıtları geri bölümlerini kararlı depolama için yazılmıştır.
Yazma üretim günlüğü hakkında daha fazla bilgi için bkz. Yazma ileriye hareket kütüğü konu, SQL Server Çevrimiçi Kitapları.

SQL Server ve WAL

SQL Server WAL protokolünü kullanır. Bir hareketi doğru kaydedilmiş olduğundan emin olmak için hareketle ilişkili olan tüm günlük kayıtlarını kararlı deposunda güvenilir olmalıdır.

Bu durum açıklığa kavuşturmak için aşağıdaki örnek göz önünde bulundurun.

Not: Bu örnekte, dizin yok olduğunu ve etkilenen sayfa sayfa 150 olduğunu varsayalım.
BEGIN TRANSACTION   INSERT INTO tblTest VALUES (1)COMMIT TRANSACTION				
Daha sonra etkinlik simplistic günlük adımlar, aşağıdaki tabloda açıklandığı şekilde bölmek.
DeyimiGerçekleştirilen eylemler
İŞLEM BAŞLAMADANGünlük önbelleği alanına yazılır. Ancak, SQL Server herhangi bir fiziksel değişiklik yapılmadı çünkü kararlı depolama birimine temizlemek gerekli değildir.
INSERT INTO tblTest
  1. Veri sayfası 150 değil zaten varsa SQL Server veri önbelleğine alınır.
  2. Sayfa kilitli, Sabitlenmiş, ve kirli olarak işaretli, ve uygun kilit elde edilen.
  3. Bir ekleme günlük kaydı oluşturulur ve günlük önbelleğine eklenmiş.
  4. Yeni bir satır veri sayfasına eklenir.
  5. Mandalı serbest bırakılır.
  6. Günlük kayıtlarının hareketiyle ilişkili veya sayfa geçici depolama birimindeki tüm değişiklikler kalır çünkü bu noktada kopyalanması gerekmez.
HAREKETİ
  1. Tamamlama günlük kaydı oluşturulmuş ve kararlı depolama ortamına hareketiyle ilişkili günlük kayıtlarını yazılmalıdır. Hareket günlük kayıtlarının doğru kararlı depolama birimine atanan kadar tamamlanmış olarak kabul edilmez.
  2. 150 sayfa verileri SQL Server veri önbelleğinde kalır ve kararlı depolama birimine hemen temizlendi değil. Günlük kayıtlarının doğru güvenli olduğunda, gerekirse kurtarma işlemi geri alamazsınız.
  3. İşlem kilitleri serbest bırakılır.
Şartları "kilitleme" ve "Günlük" tarafından karıştırılmaması WAL ile dağıttığınızda önemli olsa da, kilitleme ve günlüğe kaydetme ayrı sorunlardır. Önceki örnekte, SQL Server genellikle Mandal 150 sayfasında kez fiziksel INSERT değişiklikler sayfasında değil tüm zamanı işlem gerçekleştirmek gerekli tutar. Uygun kilit türü, satır, aralık, sayfa veya tablo gerekli olarak korumak için oluşturulur. Kilit türleri hakkında daha fazla ayrıntı için SQL Server Books Online'dan kilitleme bölümlerine bakın.

Daha ayrıntılı örneğe bakarak, LazyWriter veya denetim noktası işlemi çalıştırdığınızda, neler isteyebilir. SQL Server 7 kararlı kirli ve sabitlenmiş sayfasıyla ilişkili işlem günlük kayıtları için depolama için tüm uygun temizleme verir. Bu WAL iletişim kuralı veri sayfası hiçbir zaman ilişkili işlem günlük kayıtları Temizlenen kadar kararlı depolama ortamına yazılabilir olduğundan emin olur.

SQL Server ve kararlı depolama

SQL Server disk kesim boyutları (yaygın olarak 4.096 veya 512 bayt) bilgisi dahil olmak üzere günlük ve veri sayfası işlemlerini artırır.

Bir işlem ACID özelliklerini korumak için SQL Server hata puanları dikkate alması gerekir. Sırasında bir hata oluştu birçok disk sürücüsü belirtimleri yalnızca sınırlı miktarda kesim yazma işlemleri garanti. Bir hata oluşursa, çoğu belirtimleri tek kesim yazma tamamlanmasını garanti.

SQL Server 8 KB veri sayfaları ve günlük (sarf) kesim boyutunun katları kullanır. (Çoğu disk sürücüsü varsayılan kesim boyutunun 512 bayt kullanın.) Başarısızlık durumunda, SQL Server yazma işlemleri için günlük eşlik ve Yırtık yazma tekniklerini kullanarak bir kesimde büyük hesaba katabilir.

Bozuk sayfa yakalama

Bu seçenek, SQL Server güç kesintileri veya diğer sistem kayıpları nedeniyle oluşan tamamlanmamış g/ç işlemlerini algılamaya izin verir. Doğru olduğunda, sayfayı yazılacağı zaman her bir 8 kilobayt (KB) veritabanı sayfası, 512 bayt/kesim için döndürülecek bir bit neden diske. Sayfa üstü olduğunda biraz yanlış durumda SQL Server tarafından okunursa, sayfanın hatalı yazıldığı; bozuk bir sayfa algıladı. Yanlış yazılmış herhangi bir sayfayı kurtarma tarafından okunamıyor çünkü bozuk sayfalar genellikle kurtarma sırasında algılanır.

SQL Server veritabanı sayfaları 8 KB olmasına karşın, disk g/ç işlemlerini bir 512 bayt/kesim kullanarak gerçekleştirin. Bu nedenle, veritabanı sayfa başına 16 kesimleri yazılır. Bozuk bir sayfa (örneğin, bir güç kesintisi nedeniyle) sistemi başarısız 8 KB g/ç işlemi tamamlandığında, işletim sisteminin ilk 512 bayt/kesim diske yazar zamanı arasında oluşabilir. Veritabanı sayfası ilk kesim başarıyla hatasından önce yazılmışsa, onu değil başarılı, ancak disk veritabanı sayfasında güncel olarak görünecektir.

Pil destekli disk denetleyicisi önbellekleri kullanarak, veri veya diske başarıyla yazılır emin olabilirsiniz hiç. Bu gerekli değildir, çünkü bu durumda bozuk sayfa yakalama "true" olarak ayarlamayın.

Not: Bozuk sayfa yakalama SQL Server'da varsayılan olarak etkin değildir. Daha fazla bilgi için aşağıdaki MSDN Web sitesine bakın:

Günlük eşlik

Günlük eşlik denetimi, bozuk sayfa yakalama çok benzer. Her 512 bayt/kesim eşlik bitleri içerir. Bu eşlik bitleri her zaman günlük kaydı ile yazılmış ve günlük kaydı alındığında değerlendirilir. Günlük yazma 512 bayt sınırında zorlayarak, SQL Server committal işlemleri için fiziksel disk kesimleri tamamen yazılmıştır emin olabilirsiniz.

SQL Server 7. 0'den önceki sürümleri

Önceki sürümleri SQL Server 7. 0 ' günlük eşlik veya Yırtık bit algılama tesis sağlamadı. Aslında, bu sürümler günlük kayıtlarının 2 KB Günlük sayfa doluncaya kadar aynı günlük sayfası birden çok kez yazabilirsiniz. Bu başarıyla tamamlanmış hareketleri ortaya çıkarabilirsiniz. Günlük sayfa hatası sırasında yeniden yazılırsa gerçekleşen işlem bir kesim doğru yeniden yazan değil.

Performans etkileri

SQL Server'ın tüm sürümleri, Win32CreateFile işlevini kullanarak günlük ve veri dosyalarını açın. SQL Server tarafından açıldığında dwFlagsAndAttributes üye FILE_FLAG_WRITE_THROUGHseçeneği sunar.
FILE_FLAG_WRITE_THROUGH
Doğrudan diske gidin ve Ara tüm önbellek aracılığıyla yazmak için sistemi yöneltir. Sistem hala yazma işlemlerini önbelleğe alabilir, ancak bunları gevşek temizleyemiyor.

FILE_FLAG_WRITE_THROUGH yazma işlemi başarıyla tamamlandığında geri döndüğünde, verileri doğru kararlı deposunda saklanır emin olur. Bu veri sağlar WAL iletişim kuralı ile hizalar.
Dahili 512 KB, 1 MB veya daha büyük önbellek birçok disk sürücüleri (SCSI ve IDE) içerir. Ancak, sürücü önbellek genellikle bir sığalı ve değil bir pil destekli çözüm bağlıdır. Bu mekanizmalar önbelleğe yazma güç arasında geçiş yapmak veya benzer bir hata noktası garanti edemez. Bunlar, kesim yazma işlemlerinin tamamlanması yalnızca garanti. Özellikle neden bozuk yazma ve günlük eşlik algılama SQL Server 7.0 ve sonraki sürümlerinde yerleşik budur. Sürücüleri boyutu büyümeye devam ederken, önbellekleri büyük olur ve büyük miktarlarda veri sırasında bir hata ortaya çıkarabilirsiniz.

Birçok donanım satıcıları pil destekli disk denetleyicisi çözümleri sağlar. Bu denetleyici önbellekleri birkaç gün boyunca önbellekte bulunan verileri korumak ve hatta ikinci bir bilgisayara yerleştirilmesini önbelleğe alma donanım izin verebilirsiniz. Güç doğru geri yüklendiğinde, başka veri erişim izin verilmeden önce unwritten verileri tamamen temizlenir. Bunların çoğu, okuma yüzdesi karşı en iyi performans için kurulması için yazma önbelleğini izin verir. Bazı büyük bellek depolama alanları içerir. Aslında, Pazar çok özel bir kesim için bazı donanım satıcıları yüksek kalitede pil destekli disk önbelleği denetleyicisi sistemleri 6 GB ile önbelleğe alma sağlar. Bunlar, veritabanı performansını önemli ölçüde iyileştirebilir.

Gelişmiş önbelleğe alma uygulamaları yetenekleri durumunda sistem sıfırlaması, elektrik kesintisi veya diğer hata noktası tutamacı FILE_FLAG_WRITE_THROUGH isteği true sağladıkları için denetleyicinin önbelleği devre dışı değil yeniden yazacaksınız.

G/ç iletimleri önbellek kullanımı olmadan sürücü kafaları, dönüş oranları ve diğer sınırlayıcı etkenlerden taşımak için gerekli mekanik zamanı önemli ölçüde uzun nedeniyle olabilir.

Sektör sıralaması

G/ç performansı artırmak için kullanılan yaygın bir teknik kesim olduğu sipariş. Mekanik kafa hareketini önlemek için okuma/yazma istekleri, kafasının almak veya veri saklamak için daha tutarlı bir hareket izin vererek sıralanır.

Önbellek birden çok günlük tutabilir ve veri yazma istekleri aynı anda. Reçeteye göre sarf günlüğünü Yazar sayfa yazma verilmeden önce kararlı depolama WAL protokolü ve WAL Protokolü SQL Server uygulamasını gerektirir. Ancak, önbellek kullanımı başarı gelen günlük yazma isteği (kararlı depolama yazılır) gerçek sürücü için yazılan veri olmadan geri dönmeyebilir. Bu, SQL Server'a veri sayfası yazma isteği vermeden neden olabilir.

Yazma önbelleği katılımı ile veri hala geçici depolama alanı değerlendirilir. Ancak, tam olarak SQL Server aktivite görür nasıl WriteFileWin32 API çağrısı, başarılı bir dönüş kodu alındı. SQL Server veyaWriteFileAPI çağrısını kullanan herhangi bir işlem onlythat verileri doğru kararlı depolama edinmiş olması belirleyebilirsiniz.

Tartışma amacıyla, veri sayfasının tüm kesimlerin eşleşen günlük kayıtlarının kesimlerin önce yazmak için sıralanır varsayalım. Bunu hemen WAL iletişim kuralı ihlal ediyor. Günlük kayıtlarının önce veri sayfası önbelleği yazıyor. Tam olarak pil destekli önbellek olmadığı sürece, bir hata geri dönülemez sonuçlara neden olabilir.

Bir veritabanı sunucusu için en iyi performans Etkenler değerlendirirken göz önünde bulundurulması gereken çok sayıda etken vardır. Bunlardan en önemlileri ise, "Benim sistem geçerli FILE_FLAG_WRITE_THROUGH yetenekleri izin veriyor mu?"

Not: Tam olarak usingmust olan tüm önbellek pil destekli çözüm destekler. Tüm önbelleğe alma mekanizmaları şüpheli veri bozulması ve veri kaybı olur. SQL Server FILE_FLAG_WRITE_THROUGH etkinleştirerek WAL emin olmak için her türlü çabayı göstermektedir.

Sınama birçok disk sürücüsü yapılandırması uygun pil yedekleme yazma önbelleğini içerebilir göstermiştir. SCSI, IDE, EIDE sürücüler tam yazma önbellekleri yararlanın. SSD SQL Server ile birlikte nasıl çalıştığı hakkında daha fazla bilgi için CSS SQL Server mühendisleri Blog makale seethe:


Birçok yapılandırmalarında, düzgün bir IDE veya EIDE sürücüsüne yazma önbelleğini devre dışı bırakmak için yalnızca belirli üreticisi yardımcı programını kullanarak veya sürücüde bulunan Jumper kullanarak yoludur. Sürücü için yazma önbelleğini devre dışı bırakıldığından emin olmak için sürücünün üreticisine başvurun.

SCSI sürücüler de yazma önbellekleri vardır. Ancak, bu önbellek genellikle işletim sistemi tarafından devre dışı bırakılabilir. Herhangi bir soru varsa, uygun hizmet programları için sürücü üreticisine başvurun.

Yazma önbelleği yığınlama

Yazma önbelleği yığınlama kesim sıralaması için benzer. Aşağıdaki tanımı, doğrudan bir önde gelen IDE Sürücüsü üreticisinin Web sitesinden alınmıştır:
Normalde, bu modu etkindir. Yazma arabellek dolduğunda veya ana bilgisayar aktarım işlemi tamamlanıncaya kadar ana verileri arabelleğe yazmak Önbellek modu kabul eder.

Disk için ana verileri depolamak bir disk yazma görev başlar. Ana yazma komutları kabul edilmesi devam etmek ve verileri arabelleğe yazma komutu yığının dolu ya da veri arabelleği dolduğunda kadar transfer. Sürücünün sürücü verimi optimize etmek için yazma komutları yeniden.

Otomatik yazma yeniden tahsisat (AWR)

Verileri korumak için kullanılan başka bir ortak veri işleme sırasında bozuk kesimleri algılamak için bir tekniktir. Şu açıklamayı bir önde gelen IDE Sürücüsü üreticisinin Web sitesinden geliyor:
Bu özellik, yazma önbelleği bir parçasıdır ve Ertelenen yazma işlemleri sırasında veri kaybı riskini azaltır. Diske yazma işlemi sırasında bir disk hatası ortaya çıkarsa, disk görev durur ve şüpheli kesimi bırakılan sürücü sonunda bulunan diğer kesimler havuzuna. Tamamlanıncaya kadar tahsisat disk yazma görevi devam eder.
Pil yedekleme için önbelleği sağlanır, bu çok güçlü bir özellik olabilir. Bu yeniden başlatma sonrasında uygun değişiklik sağlar. Disk hatalarını algılamak için tercih edilir, ancak WAL iletişim kuralı veri güvenliği yeniden bunun gerçek zamanlı yapılmasını gerektiren ertelenmiş bir şekilde içinde değil. WAL parametreleri içinde günlük yazma kesim hatası nedeniyle başarısız ancak sürücü dolu bir durum AWR tekniği olamadığınız. Veritabanı altyapısı hemen bilmeniz gerekir hata hakkında doğru hareket iptal böylece yönetici uyarı almak ve veri güvenliğini sağlamak ve medya hata durumu düzeltmek için adımlar düzeltin.

Veri güvenliği

Bir veritabanı yöneticisi veri güvenliğini sağlamak için gerçekleştirmeniz gereken bazı önlemler vardır.
  • Yedekleme stratejinizi geri dönülemez bir hatadan kurtarmak için yeterli olduğundan emin olmak için her zaman iyi bir fikirdir. Tutulmasını ve diğer önlemler uygundur.
  • Test veritabanını sık sık ya da ikincil veritabanı geri yükleme işleminde sınayın.
  • Hiçbir önbelleğe alma aygıt (güç kesintisi, bozuk kesimleri, bozuk sürücüler, sistem kesinti, kilitlenmelerine, ani güç vb.) tüm hata durumları çalışabildiğinden emin olun.
  • Emin olun, önbelleğe alma aygıt:
    • Pil yedekleme tümleşik olan
    • Yeniden yayımlamadan Yazar güç-up
    • Gerekirse tamamen devre dışı bırakılabilir
    • Bozuk kesim yeniden eşleme gerçek zamanlı olarak işleme
  • Bozuk sayfa yakalama etkinleştir. (Performans üzerinde çok az etkisi vardır.)
  • Mümkünse, RAID sürücüleri bir takas etme hatalı bir disk sürücüsü için izin vererek yapılandırın.
  • İşletim sistemi yeniden başlatmaya gerek kalmadan daha fazla disk alanı eklemenize izin yeni önbellek denetleyici kullanın. Bu ideal bir çözüm olabilir.

Sürücüleri sınama

Tam olarak, verilerinizin güvenliğini sağlamak için tüm veriyi önbelleğe alma doğru şekilde ele alınır emin olmanız gerekir. Çoğu durumda, disk sürücüsüne yazma önbelleğini devre dışı bırakmalısınız.

Not: Önbelleğe alma mekanizması alternatif birden çok türde hata doğru şekilde işleyebildiğinden emin olun.

Microsoft, çeşitli SCSI ve IDE sürücülerinde SQLIOSim yardımcı programını kullanarak test gerçekleştirdi. Bu yardımcı programı veri benzetilmiş aygıt ve günlük aygıtı yoğun zaman uyumsuz okuma/yazma etkinliği benzetimi yapar. Devre dışı bırakılmış yazma önbelleğini içeren bir sürücü için 50 ile 70 arasında ikinci ve 5,200 ve 7.200 RPM aralığında başına ortalama yazma işlemleri test performans istatistiklerini gösterir.

SQLIOSim yardımcı programı hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki aşağıdaki makaleye bakın:
231619 Disk alt sisteminde SQL Server etkinliği benzetimi için SQLIOSim yardımcı programı nasıl kullanılır
Birçok bilgisayar üreticisi, yazma önbelleği devre dışı sağlayarak sürücüleri sipariş. Ancak, sınama bu her zaman durum böyle olabileceğini gösterir. Bu nedenle, her zaman tamamen sınayın.

Veri aygıtları

SQL Server dışındaki tüm oturum olmayan durumlarda kopyalanması için yalnızca günlük kayıtlarını gerektirir. Oturum işlemleri yaparken veri sayfaları da kararlı depolama birimine kopyalanması; bir hata eylemleri tekrar oluşturmanız için tek tek günlük kayıt yok.

LazyWriter veya denetim noktası işlemi için kalıcı depolama bunları temizleme sayısı kadar veri sayfalarının önbellekte kalabileceği. Günlük kayıtlarının doğru saklandığından emin olmak için WAL protokolünü kullanarak Kurtarma veri sayfası bilinen bir duruma geri yükleyebilirsiniz emin olur.

Bu, veri dosyaları önbelleğe alınmış bir sürücüye yerleştirmeniz önerilir gelmez. SQL Server kararlı depolama ortamına veri sayfaları aktarırken, hareket günlüğü'nden günlük kayıtlarının kesilebilir. Veri sayfaları geçici önbellek üzerinde depolanıyorsa, bir sayfayı bir başarısızlık durumunda kurtarmak için kullanılacak olan günlük kayıtlarını kesmek mümkündür. Veri ve günlük aygıtlar doğru kararlı depolama karşılayacak emin olun.

Performansı artırma

Ortaya çıkan ilk soru şudur: "önbelleği bir IDE sürücü sahibim. Ancak bu devre dışıyken, benim performans beklenenden daha az oldu. "Neden?"

Birçok Microsoft tarafından sınanmış IDE sürücü 5,200 RPM hızında çalışır ve bir 7.200 RPM SCSI sürücüler. IDE sürücüsüne önbelleğe yazma devre dışı bıraktığınızda mekanik performans bir faktör olabilir.

Performans farkı gidermek için çok açık bir alan vardır: "hareket hızı adresi."

Yüksek hareket hızı gerektirir (OLTP) sistemleri birçok çevrimiçi işlem vardır. Bu sistemler için düzgün yazma önbelleği destekleyebildiğini ve veri bütünlüğünü sağlama sırasında yüksek performans sağlayan bir önbellek denetleyicisi kullanmayı düşünün.

Önemli ölçüde önbellekleme sürücüsündeki performans değişiklikleri SQL Server ile karşılaşmak, küçük hareketleri kullanarak, hareket hızı çıkarılmıştır.

Yüksek 512 KB veya 2 MB'den daha az etkinlik arabelleklerinin yazma programlarını sınama performans neden olabilir.
Aþaðýdaki örneði ele alalým:
CREATE TABLE tblTest ( iID int IDENTITY(1,1), strData char(10))GOSET NOCOUNT ONGOINSERT INTO tblTest VALUES ('Test')WHILE @@IDENTITY < 10000   INSERT INTO tblTest VALUES ('Test')				
SQL Server için örnek test sonuçları şunlardır:
SCSI(7200 RPM) 84 saniye
SCSI(7200 RPM) 15 saniye (önbelleğe alma denetleyicisi)

IDE(5200 RPM) 14 saniye (sürücü önbellek etkin)
IDE(5200 RPM) 160 saniye

EKLEME işlemlerinin tüm diziyi tek bir işlem içinde kaydırma yaklaşık dört saniye içinde tüm yapılandırmaları çalıştırır.

Neden gerekli günlük temizleme sayısıdır. Hareket olmadan her INSERT içinde ve kendisinin bir hareket olduğu ve her işlem günlük kayıtları kopyalanması. Her temizlemedeki önemli mekanik sürücü müdahalesi boyutu 512 bayttır.

Tek bir hareket kullanıldığında, işlem günlük kayıtları paketlenmiş ve tek, büyük bir yazma toplanan günlük kayıtlarını temizlemek için kullanılabilir. Mekanik araya önemli ölçüde azalır.

Uyarı: İşlem kapsamı artırmayın öneririz. Uzun süreli hareketleri aşırı ve istenmeyen engellenmesi için müşteri adayı gibi ek yükü artar. Hareket günlüğü tabanlı sayaçları görüntülemek için SQL Server: veritabanları SQL Server performans sayaçları kullanın. Özellikle, Flushed günlük bayt/sn yüksek mekanik disk etkinliği için önde gelen pek çok küçük hareketleri gösterir.

Günlük temizlenemedi ilişkili ifadeleri bakmak ve günlük temizleme sayısı sınırlı olmadığını belirler. Önceki örnekte, tek bir işlem uygulanmıştır. Ancak, birçok senaryoda bu için kilitleme istenmeyen davranışlara neden olabilir. Hareket tasarım sırasında inceleyin. Küçük ve sık sık günlük temizleme etkinliğini azaltmak üzere toplu işlemleri gerçekleştirmek için aşağıdakine benzer bir kod kullanabilirsiniz:
BEGIN TRANGOINSERT INTO tblTest VALUES ('Test')WHILE @@IDENTITY < 50BEGIN   INSERT INTO tblTest VALUES ('Test')   if(0 = cast(@@IDENTITY as int) % 10)   BEGIN      PRINT 'Commit tran batch'      COMMIT TRAN      BEGIN TRAN   ENDENDGOCOMMIT TRANGO				
SQL Server gerektirir destekleyen sistemleri "garantili teslim kararlı bir ortama" açıklandığı gibi SQL Server g/ç güvenilirlik Program gözden geçirme gereksinimleri Belge karşıdan yükleyin. SQL Server veritabanı altyapısı için giriş ve çıkış gereksinimleri hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi gitmek için aşağıdaki makale numarasını tıklatın:
967576 Microsoft SQL Server veritabanı altyapısı giriş/çıkış gereksinimleri

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 230785 - Son İnceleme: 05/17/2015 07:47:00 - Düzeltme: 1.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard

  • kbhowto kbinfo kbmt KB230785 KbMttr
Geri bildirim