Makale numarası: 815594 - Son Gözden Geçirme: 22 Eylül 2003 Pazartesi - Gözden geçirme: 3.2 Hata: Başarısız BIR onaylama işlemi sırasında bir BULK INSERT deyimi üretilen
BelirtilerSQL Server tarafından DELETE deyimleri ardından sık sık, Döngüsel BULK INSERT deyimleri içeren bir işlemi sırasında aşağıdaki başarısız perakende onaylama işlemi neden olabilir. The assert üretmek için BULK INSERT aktivite nonlogged modunda çalışmalıdır: 2003-02-18 20:59:45.83 spid54 SQL Server Assertion: File: <access.c>, line=3721 Failed Assertion = '(logMode != nonlogged) || (dbt->dbt_dbid == TEMPDBID)'. A call stack similar to the following is also generated in the SQL Server error log: * ------------------------------------------------------------------------------- * Short Stack Dump * 0087A90E Module(sqlservr+0047A90E) (CStackDump::GetContextAndDump+0000002E) * 0087C41F Module(sqlservr+0047C41F) (stackTrace+00000223) * 00931097 Module(sqlservr+00531097) (utassert_fail+000002E3) * 008075E4 Module(sqlservr+004075E4) (ChangeGhostPageState+000000D5) * 00808855 Module(sqlservr+00408855) (DataSplitMgr::SplitPage+000000F4) * 00572C15 Module(sqlservr+00172C15) (indexsplit+00000068) * 00572AE7 Module(sqlservr+00172AE7) (SplitIndexNode+0000003D) * 00406CEC Module(sqlservr+00006CEC) (srchindex+000002C1) * 004372AF Module(sqlservr+000372AF) (InsertRowIntoNCIndex+0000018A) * 0080121A Module(sqlservr+0040121A) (RowsetSS::InsertRow+000000D1) * 0040E01C Module(sqlservr+0000E01C) (CValRow::SetDataX+00000035) * 0040AE83 Module(sqlservr+0000AE83) (SetDataWithPop+0000001C) * 0041C5BE Module(sqlservr+0001C5BE) (CEs::GeneralEval4+00000075) * 00486561 Module(sqlservr+00086561) (CQScanUpdate::GetRow+000001DA) * 006F9B06 Module(sqlservr+002F9B06) (CQScanSequence::Open+000000DA) * 004214C4 Module(sqlservr+000214C4) (CQueryScan::Startup+0000010D) * 0041D505 Module(sqlservr+0001D505) (CStmtQuery::ErsqExecuteQuery+0000026B) * 0041E09C Module(sqlservr+0001E09C) (CStmtDML::XretExecuteNormal+000002AE) * 0041DECA Module(sqlservr+0001DECA) (CStmtDML::XretExecute+0000001C) * 0041B442 Module(sqlservr+0001B442) (CMsqlExecContext::ExecuteStmts+000003B9) * 0041AA88 Module(sqlservr+0001AA88) (CMsqlExecContext::Execute+000001B6) * 0041B9B6 Module(sqlservr+0001B9B6) (CSQLSource::Execute+00000357) * 0047F78C Module(sqlservr+0007F78C) (CSQLSource::SeExecute+00000051) * 0047F6DC Module(sqlservr+0007F6DC) (ExecSql+000000EA) * 0047F590 Module(sqlservr+0007F590) (CBcpImport::ExecInsertStmt+00000447) * 0047D869 Module(sqlservr+0007D869) (BcpImportMain+00000196) * 0047D714 Module(sqlservr+0007D714) (CStmtBulkIns::XretExecute+0000005F) * 0041B442 Module(sqlservr+0001B442) (CMsqlExecContext::ExecuteStmts+000003B9) * 0041AA88 Module(sqlservr+0001AA88) (CMsqlExecContext::Execute+000001B6) * 0041B9B6 Module(sqlservr+0001B9B6) (CSQLSource::Execute+00000357) * 0048A63B Module(sqlservr+0008A63B) (language_exec+000003E1) * 0042708C Module(sqlservr+0002708C) (process_commands+0000010E) * 41075002 Module(UMS+00005002) (ProcessWorkRequests+00000272) * 41074698 Module(UMS+00004698) (ThreadStartRoutine+00000098) * 7800A27B Module(MSVCRT+0000A27B) (beginthread+000000CE) * 77E8758A Module(KERNEL32+0000758A) (SetFilePointer+0000018A) Sunucu: <a1>hata</a1> 8952, Düzey 16, State 1, 1 satır Hata Tablo: Veritabanı 'BulkTest', <a1>Dizin</a1> 'FilterKeys.IX_FilterKeys_FileID' (2057058364 KIMLIĞI) (KIMLIĞI 2 dizin). Anahtarları için anahtar ek ya da geçersiz: Sunucu: <a1>hata</a1> 8956, Düzey 16, State 1, 1 satır Dizin değerleriyle (3: 12: 59) satır (Win32_filespecification '{B08ED36E-EADF-47DF-B426-A793C683BB4A}' =) ile tanımlanan <a1>veri</a1> satırına işaret eder (RID (3:46405:14) =). DurumMicrosoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır. NedenBir dizin düğümde yeni oluşturulan bir dizin sayfasında "kayıtları itemiyor." içeren sonuçları bölmek için bir sayfaya bir BULK INSERT işlemi harekete geçirdiğinde bu hata oluşur. Denetim sayfası boş alan (PFS) sayfa hayalet kayıtları içeren olarak işaretlenmesi için yeni sayfa neden olan işlemi nonlogged bir işlemi sırasında ortaya çıkmaz. Pratik ÇözümBu sorun, yalnızca bir yığında oluşur çünkü (veya bir SQL Server yok kümelenmiş bir dizin olan tablo), kümelenmiş bir dizin BULK INSERT put bu soruna geçici bir çözüm bulmak için hedef tablo. Daha fazla bilgiBir eşzamanlılık en iyi duruma getirme DELETE işlem olarak hayalet kayıtları SQL Server'ı kullanır. Alanı bir satır (taşınabilir bir dizin yaprak sayfasından veya silindiğinde,), SQL Server'a hemen yayımlanmaz. Bunun yerine, bir "hayali." işaretlendi SQL Server sistem işlemi (Ghost kayıt Temizleme), zaman uyumsuz olarak, bu kayıtları kaldırmak için arka planda çalışır.
Otomatik TercümeÖ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:815594
(http://support.microsoft.com/kb/815594/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukHemen Yardım AlMakale çevirileri
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Üste