SQL Server Q&A

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘fatal exception’

FIX: An access violation is logged in the SQL Server Errorlog file when you run a query that uses a plan guide in SQL Server 2005

Symptoms
This article describes the following about this hotfix release:The issues that are fixed by this hotfix packageThe prerequisites for installing the hotfix packageInformation about whether you must restart the computer after you install the hotfix packageInformation about whether the hotfix package is replaced by any other hotfix packageInformation about whether you must make any registry changesThe files that are contained in the hotfix package
Resolution
When you run a query that uses a plan guide in SQL Server 2005, the query may intermittently fail. Additionally, an access violation that resembles the following is logged in the SQL Server Errorlog file:

2006-08-23 13:34:10.48 spid438***Stack Dump being sent to H:\MSSQL\LOG\SQLDump0016.txt
2006-08-23 13:34:10.48 spid438SqlDumpExceptionHandler: Process 438 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2006-08-23 13:34:10.48 spid438* *******************************************************************************
2006-08-23 13:34:10.48 spid438*
2006-08-23 13:34:10.48 spid438* BEGIN STACK DUMP:
2006-08-23 13:34:10.48 spid438*08/23/06 13:34:10 spid 438
2006-08-23 13:34:10.48 spid438*
2006-08-23 13:34:10.48 spid438*
2006-08-23 13:34:10.48 spid438*Exception Address = 00000000034CE1D0 Module(sqlservr+00000000024CE1D0)
2006-08-23 13:34:10.48 spid438*Exception Code= c0000005 EXCEPTION_ACCESS_VIOLATION
2006-08-23 13:34:10.48 spid438*Access Violation occurred reading address 0000000000000010 This problem occurs if the following conditions are true:The query uses a plan guide.The query accepts some parameters.The plan guide applies the OPTIMIZE FOR hint for the query. The query is recompiled before you run the query .

FIX: A Backup Log with the NO_TRUNCATE Option May Cause an Access Violation

Symptoms
For a suspect database, you can back up the current transaction log by using the Transact-SQL NO_TRUNCATE option.
When you try to do so, if the database is suspect because the secondary data file is not available, the query may fail with the following messages in SQL Query Analyzer:

Server: Msg 3013, Level 16, State 1, Line 1
Backup or restore operation terminating abnormally.ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 8 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.The following stack dump is written to the SQL Server 7.0 RTM error log file:

———————————————————————-Short Stack Dump0×41091082 Module(ums+1082) (UmsListBase::InsertTail+19)0×410913aa Module(ums+13aa) (UmsList<UmsTimerRequest,0>::InsertTail+1c)0×41091379 Module(ums+1379) (UmsQueue<UmsUserContext,0>::EnqueueTail+13)0×410915e8 Module(ums+15e8) (UmsEvent::Wait+4c)0×0057c28b Module(sqlservr+17c28b) (FCBIoRequestDispenser::GetIoreq+4c)0×00409bd3 Module(sqlservr+9bd3) (FCB::AsyncRead+13)0×00409eea Module(sqlservr+9eea) (DBTABLE::ScatterRead+65)0×00409e73 Module(sqlservr+9e73) (bufgetfromdisk+1c3)0×00402954 Module(sqlservr+2954) (bufget+13c)0×00405229 Module(sqlservr+5229) (getpage2+68)0×00404e8f Module(sqlservr+4e8f) (srchindex+131)0×00407392 Module(sqlservr+7392) (prepscan+ce)0×00407230 Module(sqlservr+7230) (LinkedPageSupplier::FirstPage+1d)0×0040700c Module(sqlservr+700c) (LinkedPageSupplier::GetNextPage+41f)0×00406e90 Module(sqlservr+6e90) (SDES::GetBiDi+1c2)0×004102b7 Module(sqlservr+102b7) (createdes+28c)0×00402cdb Module(sqlservr+2cdb) (opentabid+1b2)0×00406052 Module(sqlservr+6052) (CSysScan::OpenScan+b4)0×00405da8 Module(sqlservr+5da8) (CSysScan::StartScan+93)0×004c43eb Module(sqlservr+c43eb) (CFileGroupScan::FStartScanAll+20)0×0071b9a6 Module(sqlservr+31b9a6) (BackupOperation::LoadFileGroupList+36)0×006f64cd Module(sqlservr+2f64cd) (BackupOperation::SnapshotMetadata+1d8)0×006fe313 Module(sqlservr+2fe313) (BackupEntry::BackupLog+3ec)0×005e0821 Module(sqlservr+1e0821) (CStmtDumpXact::XretExecute+5b)0×00419efa Module(sqlservr+19efa) (CMsqlExecContext::ExecuteStmts+118)0×00419a0f Module(sqlservr+19a0f) (CMsqlExecContext::Execute+16b)————————————————————————-
Resolution
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 7.0. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
301511?(http://support.microsoft.com/kb/301511/EN-US/) INF: How to Obtain the Latest SQL Server 7.0 Service Pack

BUG: SQL 7.0 Create Statistics or WHERE Clause on Float Returns EXCEPTION_FLT_INVALID_OPERATION

Symptoms
Using a SELECT statement with a WHERE clause against a FLOAT datatype, with auto create statistics, may return an error. The auto create statistics may not appear when executing SP_HELPINDEX. Attempting to use DROP then CREATE STATISTICS may also return the following error:

ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 12 generated fatal exception c0000090 EXCEPTION_FLT_INVALID_OPERATION. SQL Server is terminating this process.This bug does not occur until a significant number of rows have been inserted into a table containing a FLOAT datatype.
Resolution
Change the datatype in the table from FLOAT to DECIMAL or NUMERIC.

BUG: Query Against Linked Server Might Cause Access Violation When the Name of One Unique Index is a Part of Another Unique Clustered Index

Symptoms
A SELECT statement that uses the four-part name against a linked server, might generate an access violation if all of the following conditions are met:The OLE DB provider for ODBC Driver is chosen to create the linked server.
The name of one unique index (for example,PK_index) is a shortened name of another unique clustered index (for example, PK_index_1__14) on the same table.
The unique clustered index includes the columns from the other unique index as part of its key.The query fails with an error message similar to the following:

ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 8 generated fatal exception c0000005
EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Connection BrokenThe short stack trace seen in the errorlog for the preceding spid is:

0×00574b4c Module(sqlservr+174b4c) (CTableMetadata::GatherGroupProperties+290)0×00622298 Module(sqlservr+222298) (CTableMetadata::LoadMetadata+19c)0×006221ac Module(sqlservr+2221ac) (CCvtTree::LoadAllMetadata+7c)0×00620888 Module(sqlservr+220888) (CCvtTree::PqryFromTree+dec)0×00621d5c Module(sqlservr+221d5c) (BuildQueryFromTree+8c)0×00621ef0 Module(sqlservr+221ef0) (CStmtQuery::InitQuery+184)0×00619b08 Module(sqlservr+219b08) (CStmtSelect::Init+cc)0×0052266c Module(sqlservr+12266c) (CCompPlan::FCompileStep+b98)0×004cf1a8 Module(sqlservr+cf1a8) (CProchdr::FCompile+7f0)0×004e0580 Module(sqlservr+e0580) (CSQLSource::FTransform+384)0×004e0100 Module(sqlservr+e0100) (CSQLStrings::FTransform+208)0×004c04ec Module(sqlservr+c04ec) (CSQLStrings::Compile+8c)0×004e5180 Module(sqlservr+e5180) (CStmtPrepQuery::CStmtPrepQuery+478)0×004ea238 Module(sqlservr+ea238) (CCompPlan::FCompileStep+184)0×004cf1a8 Module(sqlservr+cf1a8) (CProchdr::FCompile+7f0)0×004e0580 Module(sqlservr+e0580) (CSQLSource::FTransform+384)0×004e0100 Module(sqlservr+e0100) (CSQLStrings::FTransform+208)0×004de68c Module(sqlservr+de68c) (CSQLSource::Execute+14c)0×004dec24 Module(sqlservr+dec24) (language_exec+638)0×41066ea4 Module(opends60+6ea4) (execute_event+7a0)0×41067524 Module(opends60+7524) (process_commands+144)0×410a3620 Module(ums+3620) (ProcessWorkRequests+154)0×410a2af0 Module(ums+2af0) (ThreadStartRoutine+16c)0×780168e8 Module(MSVCRT+168e8) (endthread+fc)0×77e6cc48 Module(KERNEL32+cc48) (lstrcmpiW+128)2000-05-26 11:58:36.76 spid8CImageHelper::GetSym Error – The specified Module could not be found.2000-05-26 11:58:38.39 spid8Error: 0, Severity: 19, State: 02000-05-26 11:58:38.39 spid8language_exec: Process 8 generated an access violation. SQL Server is terminating this process.2000-05-28 11:00:43.96 spid8Using ’sqlimage.dll’ version ‘4.0.5′ Stack Dump being sent to C:\MSSQL7\log\SQL00002.dmp2000-05-28 11:01:03.65 spid8Error: 0, Severity: 19, State: 02000-05-28 11:01:03.65 spid8SqlDumpExceptionHandler: Process 8 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Resolution
To work around this problem you can either:Select the OLE DB provider for SQL Server to create the linked server.
-or-
Change the index name.

FIX: Calling Method in User Ctrl w/ParamArray Causes Fatal Exception During Compile

Symptoms
If no parameter is passed, a fatal exception occurs in Visual Basic 6.0 when you compile a project that calls a method in a user control with a ParamArray parameter.
Resolution
There is no workaround available for this problem. You must pass at least one parameter to avoid it.