Ich habe eine Verbindung zu einem Verbindungsserver von SQL Server 2012 zu Pervasive SQL.
Wenn ich das mache select field1, field2, field3 from mytable
, funktioniert alles!
Wenn ich dies jedoch tue select field1, field2, field3, field4, ...field10+ from mytable
, erhalte ich folgende Fehlermeldung:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "KSLAP208" reported an error. The provider reported an unexpected catastrophic failure.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "KSLAP208".
Ich habe mir die Protokolle angesehen und hier steht:
2013-02-08 11:27:30.93 spid55 ***Stack Dump being sent to D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0049.txt
2013-02-08 11:27:30.93 spid55 SqlDumpExceptionHandler: Process 55 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2013-02-08 11:27:30.93 spid55 * *******************************************************************************
2013-02-08 11:27:30.93 spid55 *
2013-02-08 11:27:30.93 spid55 * BEGIN STACK DUMP:
2013-02-08 11:27:30.93 spid55 * 02/08/13 11:27:30 spid 55
2013-02-08 11:27:30.93 spid55 *
2013-02-08 11:27:30.93 spid55 *
2013-02-08 11:27:30.93 spid55 * Exception Address = 00000000018F5BBE Module(UNKNOWN+0000000000000000)
2013-02-08 11:27:30.93 spid55 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
2013-02-08 11:27:30.93 spid55 * Access Violation occurred reading address 0000000009400090
2013-02-08 11:27:30.93 spid55 * Input Buffer 128 bytes -
2013-02-08 11:27:30.93 spid55 * select * from [KSLAP208].[C003]..PA_Profile_BASE_1119
Ich kann genau das gleiche select *
von einem anderen Server ohne Probleme tun !
Was passiert hier? Ist dies eine Art 2012-Fehler oder ein Speicherproblem?
sql-server
sql-server-2012
linked-server
l - '' '' '-' '' '' '' '' '' '' '
quelle
quelle
Antworten:
Sie verwenden also Microsoft OLE DB Provider für ODBC (MSDASQL), der vermutlich auf den ODBC-DSN für Ihre Pervasive-Datenquelle verweist. Da es sich bei dem Fehler um eine Zugriffsverletzung (Access Violation, AV) handelt, kann ich wetten, dass die AV aufgrund eines Fehlers im Pervasive ODBC-Treiber ausgelöst wird. Da Sie auch erwähnen, dass diese Abfrage von einem anderen Computer aus funktioniert, können Sie Folgendes überprüfen:
quelle