Select the product you need help with
REVISIÓN: Volver a punto de almacenamiento produce errores y aserciónId. de artículo: 294902 - Ver los productos a los que se aplica este artículo Error nº: 352501 (SHILOH_bugs) SíntomasSi un cliente asigna la primera, raíz y páginas de firstIAM de una tabla dentro de una transacción de usuario y el cliente utiliza el comando ROLLBACK para deshacer hasta un punto de almacenamiento dentro de esa misma transacción, puede producirse mensaje de error 3624 (aserción) y la conexión de cliente a SQL Server puede terminarse. Si se utiliza el Analizador de consultas como el cliente, se devuelve el mensaje de error siguiente en el Analizador de consultas: Servidor: Msg 3624, nivel 20, estado 1, línea 1 Ubicación: page.cpp:2777 Expresión: rowLength > = offset + deleteLength SPID: 51 ID. de proceso: 596 Conexión interrumpida CausaEn SQL Server 2000 se crean tablas como tablas vacías. Esto significa que cuando se crea una tabla páginas no se asignan a esa tabla. Las páginas se asignan a una tabla cuando se insertan datos en la tabla. Por lo tanto, el siguiente escenario puede conducir a una aserción y mensajes de error:
SoluciónPara resolver este problema, consiga el Service Pack más reciente para SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base: 290211
(http://support.microsoft.com/kb/290211/EN-US/
)
INF: Cómo obtener el Service Pack más reciente de SQL Server 2000 EstadoMicrosoft ha confirmado que este es un problema de SQL Server 2000. Este problema se corrigió por primera vez en SQL Server 2000 Service Pack 1. Más informaciónUn punto de almacenamiento es un marcador dentro de una transacción que define una ubicación a la que puede devolver una transacción, si parte de la transacción se cancela condicionalmente. Para obtener más información acerca de punto de almacenamiento, consulte el tema "SAVE TRANSACTION" en los libros en pantalla de SQL Server. Para reproducir el problema, ejecute la secuencia de comandos siguiente: ------------------------------------------------------------------------------- Short Stack Dump 77F97AC6 Module(ntdll+00017AC6) (ZwGetContextThread+0000000B) 0092569E Module(sqlservr+0052569E) (utassert_fail(enum UTASSERT_TYPE,char const *,char const *,int,char const *,...)+000002E9) 00843FAC Module(sqlservr+00443FAC) (Page::ModifyRow(int,unsigned int,unsigned int,unsigned int,void const *,unsigned int,class XdesId const *)+000000D0) 0042DEAB Module(sqlservr+0002DEAB) (PageRef::ModifyRow(struct BUF *,int,unsigned int,unsigned int,unsigned int,void const *,enum ETabStatus,int,class XDES *,void const *,unsigned int)+0000033A) 0041CC24 Module(sqlservr+0001CC24) (AllocationReq::AllocatePages(void)+00000690) 0041B777 Module(sqlservr+0001B777) (AllocationReq::Allocate(void)+00000078) 0043EF30 Module(sqlservr+0003EF30) (AllocateHeapPage(struct CINSTABLE *)+0000007D) 0080C76D Module(sqlservr+0040C76D) (AllocatePageForInsert(class SDES *,struct INDEX *)+000000CD) 0043461A Module(sqlservr+0003461A) (FreeSpaceScan::GetNextPage(struct BUF * *)+000003B0) 00434A1B Module(sqlservr+00034A1B) (FindExistingFreeSpace(class SDES *,struct INDEX *,unsigned int,int &)+000000B8) 004348AD Module(sqlservr+000348AD) (ncinsert(class SDES * volatile,unsigned char *,int,class Scan_rid &)+00000081) 00418543 Module(sqlservr+00018543) (rowinsert(class SDES * volatile,void *,int,unsigned char)+00000118) 004185E0 Module(sqlservr+000185E0) (insert(class SDES *,void *,int)+00000013) 00433D8F Module(sqlservr+00033D8F) (RowsetSS::InsertRow(unsigned long,unsigned long,void *,unsigned long *)+00000201) 0042EE6A Module(sqlservr+0002EE6A) (CValRow::SetDataX(unsigned long *,class CXVariant *)+00000025) 00431C2F Module(sqlservr+00031C2F) (CEs::FastMoveEval(unsigned long *,class CEsExec *,class CXVariant *)+00000039) 00433FD6 Module(sqlservr+00033FD6) (CQScanScalarInsert::GetRow(unsigned long *,unsigned long *)+00000035) 0042C85E Module(sqlservr+0002C85E) (CQScanNLJoin::GetRow(unsigned long *,unsigned long *)+00000112) 004C09E1 Module(sqlservr+000C09E1) (CQScanAssert::GetRow(unsigned long *,unsigned long *)+0000001B) 00427985 Module(sqlservr+00027985) (CQueryScan::GetRow(unsigned long *,unsigned long *)+00000014) 00426F64 Module(sqlservr+00026F64) (CStmtQuery::ErsqExecuteQuery(class CMsqlExecContext *,class CEsComp const *,class CEsComp const *,unsigned long *,int,int)const +000003C4) 0042EA36 Module(sqlservr+0002EA36) (CStmtDML::XretExecuteNormal(class CMsqlExecContext *)const +000002F0) 0042E82D Module(sqlservr+0002E82D) (CStmtDML::XretExecute(class CMsqlExecContext *)const +0000001C) 004160DB Module(sqlservr+000160DB) (CMsqlExecContext::ExecuteStmts(class ExecutionContext *)+0000027E) 00415765 Module(sqlservr+00015765) (CMsqlExecContext::Execute(class CCompPlan *,class CParamExchange *)+000001C7) 00415410 Module(sqlservr+00015410) (CSQLSource::Execute(class CParamExchange *)+00000343) 005A683F Module(sqlservr+001A683F) (CStmtPrepQuery::XretExecute(class CMsqlExecContext *)const +00000211) 004160DB Module(sqlservr+000160DB) (CMsqlExecContext::ExecuteStmts(class ExecutionContext *)+0000027E) 00415765 Module(sqlservr+00015765) (CMsqlExecContext::Execute(class CCompPlan *,class CParamExchange *)+000001C7) 00415410 Module(sqlservr+00015410) (CSQLSource::Execute(class CParamExchange *)+00000343) 00459A54 Module(sqlservr+00059A54) (language_exec(struct srv_proc *)+000003C8) 004175D8 Module(sqlservr+000175D8) (process_commands(struct srv_proc *)+000000E0) 410735D0 Module(UMS+000035D0) (ProcessWorkRequests(class UmsWorkQueue *)+00000264) 4107382C Module(UMS+0000382C) (ThreadStartRoutine(void *)+000000BC) 7800BEA1 Module(MSVCRT+0000BEA1) (_beginthread+000000CE) 77E92CA8 Module(KERNEL32+00012CA8) (CreateFileA+0000011B) ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Short Stack Dump 77F97AC6 Module(ntdll+00017AC6) (ZwGetContextThread+0000000B) 00926069 Module(sqlservr+00526069) (ex_raise2(int,int,int,int,void *,char *)+00000174) 0046C368 Module(sqlservr+0006C368) (ex_raise(int,int,int,int,...)+00000063) 008686FE Module(sqlservr+004686FE) (FixPageForUndo(class PageRef &,class DBTABLE *,class LSN const &,enum LatchBase::LATCH_TYPE,class PageLog const &)+00000098) 00863962 Module(sqlservr+00463962) (XdesRMReadWrite::UndoPageOperation(class PageLog const *,class LSN const &,int)+0000032B) 00440FBA Module(sqlservr+00040FBA) (XdesRMReadWrite::RollbackToLsn(class LSN const &,class LogIterBackLink &,class IndexErrorTable *,int)+000002EB) 00865932 Module(sqlservr+00465932) (XdesRMFull::RollbackNested(int)+00000143) 0086062F Module(sqlservr+0046062F) (XactRM::RollbackNestedXact(int)+0000009E) 0085DEB5 Module(sqlservr+0045DEB5) (FullXactImpBase::RollbackNestedXact(int)+00000037) 0064089F Module(sqlservr+0024089F) (CMsqlXact::RollbackNestedXact(enum CMsqlXact::ReadWriteMode,int)+00000017) 006403DD Module(sqlservr+002403DD) (CAutoMsqlXact::RollbackNestedXact(void)+00000032) 0062F2D1 Module(sqlservr+0022F2D1) (CStmtDML::XretExecuteNormal(class CMsqlExecContext *)const +00000456) 0042E82D Module(sqlservr+0002E82D) (CStmtDML::XretExecute(class CMsqlExecContext *)const +0000001C) 004160DB Module(sqlservr+000160DB) (CMsqlExecContext::ExecuteStmts(class ExecutionContext *)+0000027E) 00415765 Module(sqlservr+00015765) (CMsqlExecContext::Execute(class CCompPlan *,class CParamExchange *)+000001C7) 00415410 Module(sqlservr+00015410) (CSQLSource::Execute(class CParamExchange *)+00000343) 005A683F Module(sqlservr+001A683F) (CStmtPrepQuery::XretExecute(class CMsqlExecContext *)const +00000211) 004160DB Module(sqlservr+000160DB) (CMsqlExecContext::ExecuteStmts(class ExecutionContext *)+0000027E) 00415765 Module(sqlservr+00015765) (CMsqlExecContext::Execute(class CCompPlan *,class CParamExchange *)+000001C7) 00415410 Module(sqlservr+00015410) (CSQLSource::Execute(class CParamExchange *)+00000343) 00459A54 Module(sqlservr+00059A54) (language_exec(struct srv_proc *)+000003C8) 004175D8 Module(sqlservr+000175D8) (process_commands(struct srv_proc *)+000000E0) 410735D0 Module(UMS+000035D0) (ProcessWorkRequests(class UmsWorkQueue *)+00000264) 4107382C Module(UMS+0000382C) (ThreadStartRoutine(void *)+000000BC) 7800BEA1 Module(MSVCRT+0000BEA1) (_beginthread+000000CE) 77E92CA8 Module(KERNEL32+00012CA8) (CreateFileA+0000011B) ------------------------------------------------------------------------------- 2001-03-30 03:08:44.56 spid51 Error: 3448, Severity: 21, State: 1 2001-03-30 03:08:44.56 spid51 Could not undo log record (5:23:99), for transaction ID (0:157), on page (1:76), database 'repro' (database ID 7). Page information: LSN = (5:23:96), type = 1. Log information: OpCode = 4, context 1.. 2001-03-30 03:08:44.56 spid51 ex_raise2: Exception raised, major=34, minor=48, severity=25, attempting to create symptom dump PropiedadesId. de artículo: 294902 - Última revisión: jueves, 06 de noviembre de 2003 - Versión: 3.2
Traducción automática IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Haga clic aquí para ver el artículo original (en inglés): 294902
(http://support.microsoft.com/kb/294902/en-us/
)
|




Volver al principio








