Frage

Wir haben einen alten Windows 2000 Server mit SQL Server 2000 Standard Edition, SP3. Dies hat einen Verbindungsserver Setup zu einer Informix DB über eine ODBC-Verbindung zu verbinden. Die meiste Zeit des Jahres arbeitet OPENQUERY den Verbindungsserver läuft ohne Probleme in Ordnung. alle paar Monate jedoch verknüpfen dieser Server ausfällt, und nicht wieder arbeiten, bis der SQL Server neu gestartet wird. Der Fehler, den wir in Enterprise Manager zu sehen, ist dies:

---------------------------
SQL Server Enterprise Manager
---------------------------
Error 7399: OLE DB provider 'UNKNOWN' reported an error.  

Memory allocation failure.]
Memory allocation failure.]
OLE DB error trace [OLE/DB Provider 'UNKNOWN' IDBSchemaRowset::GetRowset returned 0x80004005:   ].
---------------------------
OK   
---------------------------

Wenn ich versuche, jede SQL-Abfrage für den Verbindungsserver in Query Analyzer ausgeführt wird, berichtet der Fehler ist folgende:

[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

Wenn ich anwenden, um die TRACE-Flags verwiesen hier ich ein wenig bekommen genauer:

OLE DB error trace [Non-interface error:  OLE DB provider MSDASQL
returned an incorrect value for DBPROP_CONCATNULLBEHAVIOR which should
be either DBPROPVAL_CB_NULL or DBPROPVAL_CB_NON_NULL].
[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

Alle Ideen, was dieses verursachen könnte? Wir sind keine Kenntnis von Serverausfällen oder Änderungen an den Einstellungen, und ein Neustart scheint immer dies zu beheben. Die Informix DB erscheint Version Server 2000 9.21.UC2 Informix Dynamic zu sein, und die Modernisierung oder Patchen es nicht als Option verfügbar ist.

War es hilfreich?

Lösung

Beachten Sie, dass IDS 9.21 ist längst aus der Unterstützung - in der Tat, beide 9,30 und 9,40 (die Nachfolgeversionen von IDS) sind auch aus der Unterstützung. Sie sind Jahre überfällig für ein Upgrade, obwohl es scheint, dass Sie das Upgrade aus politischen Gründen nicht wirklich tun können.

Es scheint, dass es ein Speicherleck auf der Seite SQL Server irgendwo, vielleicht durch ein Speicherleck in den Informix-ODBC-Treiber verursacht, die Sie verwenden.

Wenn Sie nichts aktualisieren können, dann eine periodische Neustart von SQL Server die akkumulierte Speicher löschen ist die einfachste, zuverlässigste Option. Da Sie es funktioniert für Monate in einer Zeit in der Regel bedeuten, ich Neustart einmal im Monat aussehen würde oder so.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top