Bildirilmeyen G/Ç sorunlarını algılamak için yeni SQL Server tanılamaları eklenmiştir

Makale çevirileri Makale çevirileri
Makale numarası: 826433 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Kayıp yazma koşullar, işletim sistemi, sürücü veya donanım sorunlarının neden veya eski koşullarını okuyun, Errors 605 823, 3448 gibi veri bütünlüğü ile ilgili hata iletileri görebilirsiniz. Aşağıdaki örneklere benzer hata iletileri alabilirsiniz:
2003-07-24 16:43:04.57 spid63 Getpage: bstat 0x9, sstat = 0x800, önbellek =
2003-07-24 16:43:04.57 spid63 pageno iş/olmalıdır: objid iş/olmalıdır:
2003-07-24 16:43:04.57 spid63 (1:7040966)/(1:7040966) 2093354622/2039782424
2003-07-24 16:43:04.57 spid63... Bu sayfayı, bu nesne için tahsis edilen IAM gösterir.
2003-07-24 16:52:37.67 spid63 hatası: 605, önem derecesi: 21, durumu: 1
2003-07-24 16:52:37.67 spid63 girişimi 'pubs' nesne 'yazar', olmayan nesne 'başlık' için ait olduğu veritabanında mantıksal sayfası (1:7040966) getiremedi.
2003-07-24 16:52:40.99 spid63 hatası: 3448, önem derecesi: 21, durumu: 1
2003-07-24 16:52:40.99 spid63 (63361:16876:181), günlük kaydının işlem KIMLIĞI (0:159696956) üzerinde geri değil (1:7040977) sayfasında, 'pubs' (veritabanı KIMLIĞI 12) veritabanı. Bilgi sayfası: LSN (63192:958360:10) = türü = 2. Bilgileri günlüğe kaydeder: OpCode = 2, içerik 1
09-07-2003 14:31:35.92 spid66 hatası: 823, önem derecesi: 24, durum: 2
Dosya 'h:\sql\MSSQL\data\tempdb.mdf' içinde 0x00000016774000 uzaklığındaki okuma sırasında 2003-07-09 14:31:35.92 spid66 g/Ç hatası algılandı (hatalı sayfa KIMLIĞI)

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, Microsoft SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211En son SQL Server 2000 hizmet paketi nasıl elde edilir

Bilgi oluşturmak

Microsoft, genişletilmiş izleme özelliklerini tanıtır, SQL Server'ın bir yap? yayımladı. Bu özellikler "Belirtiler" bölümünde açıklanan hata iletilerinde sorun gidermenize yardımcı olması için tasarlanmıştır. Bir işletim sistemi veya bir donanım releated sorunundan şüpheleniyorsanız, bu derleme için geçerli olmayabilir.

Bu yapı'nin ingilizce sürümünü dosya öznitelikleri (veya üstü), aşağıdaki tabloda listelenmiştir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
   Date         Time   Version         Size             File name
   -------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400 bytes  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432 bytes  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296 bytes  Distmdl.mdf
   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052 bytes  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552 bytes  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927 bytes  Instdist.sql
   03-May-2003  01:56                      1,581 bytes  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   01-Apr-2003  02:07                      1,873 bytes  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024 bytes  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144 bytes  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904 bytes  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104 bytes  Pfutil80.dll     
   22-May-2003  22:57                     19,195 bytes  Qfe469571.sql
   11-Jul-2003  17:04                  1,084,147 bytes  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   11-Jul-2003  16:56                  1,085,925 bytes  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096 bytes  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032 bytes  Semobj.rll
   29-May-2003  00:29                    115,944 bytes  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360 bytes  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172 bytes  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672 bytes  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   01-Aug-2003  00:50  2000.80.847.0   7,594,065 bytes  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396 bytes  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492 bytes  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148 bytes  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240 bytes  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416 bytes  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132 bytes  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816 bytes  Xpweb70.dll
Not bağımlılıklar, en son düzeltmede veya bu dosyaları içeren bir özellik nedeniyle, ek dosyalar da içerebilir.

Microsoft, sık ve yoğun g/Ç yük altında okunan bir eski bazı donanım platformları dönebilirsiniz onaylamıştır. Genişletilmiş tanılama olası bir eski gösterirse okuma/kaybedilen durumu yazın, yukarı hemen izlemek için donanım satıcınıza başvurun ve SQLIOStress yardımcı programıyla sınayın.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Bu sorun ilk olarak Microsoft SQL Server 2000 Service Pack 4'te giderilmiştir.

Daha fazla bilgi

"Belirtiler" bölümünde anlatılan hata iletilerinden birini alırsınız ve bunların bir fiziksel disk hatası gibi bir olayı açıklanması olamaz, SQL Server, işletim sistemi, sürücüleri ve donanım bilinen sorunları gözden geçirin. Ek SQL Server g/Ç algılanmasına yardımcı olmak için dış sorunlarla ilgili bu oluşturmaya tanılamalar eklenmiştir. Aşağıdaki iki durumlardan hakkında bilgi sağlamak ek tanılamalar deneyin:
  • Write kayboldu: SQL Server bilgilendirildi yazma başarılı olsa bile WriteFile API, ancak işletim sisteminin, bir sürücü ya da önbellekleme denetleyicisinde başarılı BIR çağrı doğru verileri fiziksel ortam flush değil.
  • Eskiyen okuma: ReadFile API, ancak işletim sisteminin, bir sürücü ya da önbellekleme denetleyicisinde başarılı BIR çağrı hatalı verileri eski bir sürümü döndürür.
Örneğin, Microsoft WriteFile API çağrısı, başarılı olarak verir, ancak eski veri, büyük olasılıkla bir donanımda önbellek okuması depolanan veriler de dahil olmak üzere hemen, başarılı bir okuma aynı veri bloğunun döndürür senaryolarda onaylamıştır. Bazı durumlarda, bu sorun, okundu önbellek bir sorun nedeniyle oluşur. Bazı durumlardaysa, yazma verileri gerçekte hiçbir zaman fiziksel diske yazılır.

Bu tür sorunları için ek tanılamalar etkinleştirmek için <a0></a0>, SQL Server izleme bayrağı 818 ekledi. Izleme bayrağı 818 bir başlangıç parametresi belirtebileceğiniz-T818, aşağıdaki ifadeyi veya SQL Server çalıştıran bilgisayarı çalıştırabilirsiniz:
DBCC TRACEON(818, -1)

Izleme bayrağı 818 izleme son 2.048 en başarılı sıralama ve workfile g/ç işlemleri dahil, SQL Server çalıştıran bir bilgisayar tarafından gerçekleştirilen işlemler yazmak için kullanılan bir bellek içi halka arabelleğinde sağlar. Hata 605, 823 veya 3448 gibi hatalar oluştuğunda, günlük sıra numarası (LSN) değeri gelen arabellek son yazma listesine karşılaştırılır. Okuma işlemi sırasında yeniden alınır, LSN yazma işlemi sırasında belirtilen bir daha eski ise, yeni bir hata iletisi SQL Server hata günlüğüne kaydedilir. Çoğu SQL Server yazma işlemleri, denetim noktaları ya da yavaş yazma oluşur. Yavaş bir yazma zaman uyumsuz g/Ç kullanan bir arka plan bir görevdir. Halka arabelleğinde hafif, böylece Önemsiz sistemde etkileyen performans yapma uygulamasıdır.

Aşağıdaki ileti, SQL Server hata WriteFile API çağrısını veya ReadFile API çağrısı almadı olduğunu gösterir. Ancak, the LSN gözden geçirilmiş, değeri doğru değil:
SQL Server, bildirilmeyen bir OS/donanım düzeyi okunamıyor veya sorunu <a1>Veritabanı</a1> 12 sayfa (1:75007) yazma algıladı.
(63361:16876:181) LSN döndürdü, LSN (63361:16876:500) bekleniyor.
Donanım satıcısına başvurun ve sorunu düzeltmek için önbelleğe alma mekanizmaları devre dışı bırakabilirsiniz
Bu noktada önbellek okuma sayfayı daha eski bir sürümünü içerir veya verileri doğru fiziksel diske yazılmadı. Her iki durumda da (Write kayıp veya eski bir okuma), SQL Server, işletim sistemi, sürücü veya donanım katmanları harici bir sorun raporları.

Hata 605 veya hata 823 olan bir hareketi geri alma için çalıştığınızda hata 3448 oluşursa, otomatik olarak, SQL Server çalıştıran bilgisayar veritabanı kapatır ve açıp veritabanını kurtarmak çalışır. Hata 605 ya da hata 823 ilk sayfasında, hatalı bir sayfa olarak kabul edilir ve sayfa kimliği, SQL Server çalıştıran bir bilgisayar tarafından tutulur. (Önce Yinele aşama) kurtarma sırasında hatalı bir sayfa kimliği okunduğunda, sayfa üstbilgisi bir birincil ayrıntılarını SQL Server hata günlüğüne kaydedilir. Bu eylem, bu kayıp artış ve eski okuma senaryolar arasında ayırım yardımcı olduğu önemlidir.

Eski okuma senaryolarda aşağıdaki iki genel davranışlarla karşılaşabilirsiniz:
  • Veri kurtarma sırasında veritabanı dosyaları kapatıldı ve daha sonra doğru açılır ve en son yazılan döndürülür.
  • Bir denetim noktası vermek ve (bellek tüm veritabanı sayfaları kaldırmak için <a0></a0>) DBCC DROPCLEANBUFFERS deyimini çalıştırın ve veritabanında DBCC CHECKDB deyimini çalıştırın, en son yazılan veri döndürülür.
Önbellek Okuma sorunu önceki paragrafta sözü edilen davranışlar gösterir ve bunlar sık okuma önbelleği devre dışı bırakarak çözülen. Genellikle önceki paragrafta özetlenen eylemleri bir önbellek invalidation ve fiziksel ortamın doğru güncelleştirilmemiş gösteri oluşan bir başarılı okuma zorla. Kayıp yazma davranışı, geri okunan sayfa bile bir Zorlanmış temizleme önbelleğe alma mekanizmaları, sonra verileri eski sürümünü yine de olduğunda oluşur.

Bazı durumlarda, sorun bir donanım önbelleğine belirli olmayabilir. Bir filtre sürücüsü ile ilgili bir sorun olabilir. Bu gibi durumlarda yazılımınız, Yedekleme yardımcı programları ve virüsten koruma yazılımı da dahil olmak üzere gözden geçirin ve sonra da filtre sürücüsü bir sorun olup olmadığını görmek.

Microsoft hata 605 veya hata 823 ölçüte uymayan, ancak aynı eski okuma veya kayıp yazma etkinlik neden koşullar de not ettiğiniz. Bazı durumlarda, iki kez güncelleştirilmesi ancak ile aynı olan LSN değeri için bir sayfa görüntülenir. Nesne KIMLIĞI ve Sayfa KIMLIĞI (doğru sayfa zaten nesneye ayrılmış) ve bir sayfaya yapılan ve diske boşaltıldı Bu davranış oluşabilir. Sonraki sayfa alma eski bir görüntü verir ve sonra ikinci bir değişiklik yapılmaz. SQL Server işlem günlüğü, sayfanın iki kez aynı LSN değeri ile güncelleştirildi gösterir. Bu eylem bir <a0>işlem</a0> günlük sırası geri yüklemeye çalıştığınızda bir sorun haline gelir veya yabancı anahtar hatalar veya eksik veri girişleri gibi veri tutarlılığını sorunları. Aşağıdaki hata iletisini, bu durum, bir örnek gösterilmektedir:
Hata: 3456, önem derecesi: 21, durumu: 1 (276666:1664:19), günlük kaydının işlem KIMLIĞI (0:825853240) üzerinde yeniden değil (1:1787100) sayfasında, (7) ' yazar' veritabanı. Sayfa: LSN (276658:4501:9) = türü = 1. Günlük: OpCode = 4, <a1>içerik</a1> 2 PrevPageLSN: (275565:3959:31)

Bazı senaryolarda, aşağıdaki listelerde ayrıntılı özetlenmiştir:
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Table created or truncated
    4			Inserts (Pages allocated)
    5			Newly allocated page written to disk by Lazy Writer
    6			Select from table – Scans IAM chain, newly allocated page read back from disk (LRU | HASHED = 0x9 in getpage message), encounters Error 605 - Invalid Object ID
    7			Rollback of transaction initiated
    
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Page Modification
    4			Page written to disk by Lazy Writer
    5			Page read in for another modification (stale image returned)
    6			Page Modified for a second time but because of stale image does not see first modification 
    7			Rollback – Fails – Transaction Log shows two different log records with the same PREV LSN for the page
    
SQL Server 'sıralama' işleçleri, g/Ç etkinlikleri, tempdb veritabanı için öncelikle ve gerçekleştirebilirsiniz. Bu g/Ç işlemleri için arabellek g/Ç işlemleri benzer; ancak, önceden okuma yeniden deneme mantığı benzer sorunları gidermek amacıyla kullanmak için tasarlanmışlardır. Bu makalede açıklandığı bir ek tanılamalar bu g/Ç işlemlerinde geçerli değildir.

Microsoft, aşağıdaki sıralama kök nedeni hataları ise genellikle eski bir okuma veya yazma kaybedildi okumanız Not:
2003-04-01 20:13:31.38 spid122 SQL Server onaylama işlemi: dosya: <p:\sql\ntdbms\storeng\drs\include\record.inl>, satır 1447 onaylama işlemi başarısız oldu = = ' m_SizeRec > 0 && m_SizeRec < MAXDATAROW = '.

2003-03-29 09:51:41.12 spid57 sıralama, <a1>hata</a1> (hatalı sayfa KIMLIĞI) makalesini okuyun. PageID (0x1:0x13e9) = dbid = 2 dosya e:\program Files\Microsoft = SQL Server\mssql\data\tempdb.mdf. Yeniden deniyor.

2003-03-29 09:51:41.13 spid57 hatası: 823, önem derecesi: 24, durum: 7
Dosya 'e:\program Files\Microsoft SQL Server\mssql\data\tempdb.mdf' içinde 0x000000027d2000 uzaklığındaki okuma sırasında (hatalı sayfa KIMLIĞI) g/Ç hatası 2003-03-29 09:51:41.13 spid57 algıladı.

* 00931097 Module(sqlservr+00531097) (utassert_fail + 000002E3)
* 005B1DA8 Module(sqlservr+001B1DA8) (RecBase::Resize + 00000091)
* 00407EE7 Module(sqlservr+00007EE7) (RecBase::LocateColumn + 00000012)
* 00852520 Module(sqlservr+00452520) (mergerow + 000000A4)
* 008522B3 Module(sqlservr+004522B3) (merge_getnext + 00000285)
* 0085207D Module(sqlservr+0045207D) (mergenext + 0000000D)
* 004FC5FB Module(sqlservr+000FC5FB) (getsorted + 00000021)

Bu sıralama hataları karşılaşmış müşteriler, sık olmayan önbellekleme bir yerel sürücü tempdb taşıma ya da okuma için önbelleğe alma mekanizmaları devre dışı bırakılması sorunlar giderilmiştir.

Bir eski okunamıyor çünkü veya kayıp yazma sonuçları beklenmiyor, veri depolama çeşitli davranışlar oluşabilir. Eksik veri olarak gibi görünebilir, ancak bazı yaygın etkilerini eksik veri bozulmaları (dizin), Hata 644 veya hata 625 gibi görünür:
Hata 644 önem düzeyi 21 ileti metni verebilir değil bulmak dizin girdisi için RID ' %. * hs 'dizin sayfası % S_PGID, dizin KIMLIĞI: % d, veritabanı' %. * ls'.
Slotid (% d) geçerli olmadığından 625 hata önem düzeyi 21 ileti metni satır sayfa % RID tarafından S_PGID almak başlatılamıyor.
Bazı müşteriler, satır sayısı etkinlikler gerçekleştirdikten sonra satır eksik raporladı. Bu sorun, kayıp bir yazma nedeniyle oluşur. Belki de sayfayı kümelenmiş dizin sayfası zincirdeki için bağlantı kurulacak beklenen oldu. Yazma fiziksel kaybedildi, veriler de kaybolur.

Önemli Davranışlar biriyle karşılaşıyorsunuz veya şüpheli önbelleğe alma mekanizmaları devre dışı bırakma ile birlikte, benzer sorunlar, Microsoft, önerir, SQL Server'ı ve en son SQL Server g/Ç zorlama Simulator en son güncelleştirmesini edinin. Microsoft, işletim sisteminizi ve onun ilişkili yapılandırma katı inceleme gerçekleştir de önemle önerir.

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
231619NASıL YAPıLıR: SQL Server gibi bir disk alt sistemi zorlayan SQLIOStress yardımcı programı kullanın
SQL Server sistemlerini desteklemek için gerektirir ‘ kararlı bir ortam garanti ’ altında Microsoft SQL Server Always-On depolama Solution inceleme program özetlendiği gibi. FOSQL Server veritabanı altyapısı için giriş ve çıkış gereksinimleri hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
967576Microsoft SQL Server Database Engine giriş/çıkış gereksinimleri

Özellikler

Makale numarası: 826433 - Last Review: 5 Mayıs 2009 Salı - Gözden geçirme: 7.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2000 Service Pack 3
Anahtar Kelimeler: 
kbmt kbhotfixserver kbqfe kbbug kbhardware kbfilter kbdriver kbdatabase kbsysadmin kbinfo KB826433 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:826433

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com