Jump to content

2K: Internal SQL Server Error


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

 

folgendes Problem treibt mich in den Wahnsinn:

 

man nehme eine Abfrage, welche leicht verschachtelt ist und führe sie aus => Funktioniert.

 

Nun schreibt man select * FROM ( <Abfrage> ) und man bekommt Fehler 8624Internal SQL Server Error.

 

Es spielt keine Rolle, ob die Abfrage in einer View ist. Folgendes habe ich bei MS dazu bereits gefunden: FIX: You may receive an "Internal SQL Server error" error message when you run a Transact-SQL SELECT statement on a view that has many subqueries in SQL Server 2000.

 

Darauf hin SP4 eingespielt. Das Ergebnis ist unverändert.

 

Hat jemand eine Lösung dafür?

 

grüße,

Lula

Link zu diesem Kommentar

Hi lula25,

 

Wie soll jemand eine Lösung haben, wenn Du nicht Deine Abfrage postest?

 

Wenn der Fehler nicht auf einen Fehler in Deiner Abfrage zurückzuführen ist (was man ja auch nicht ausschließen kann), könnte der Server einfach zu wenig RAM haben bzw. die Abfrage extrem große Datenmengen während der Ausführung produzieren. Was passiert, wenn Du statt "*" "COUNT(*)" schreibst?

 

cu,

 

Perin

Link zu diesem Kommentar

Hallo und willkommen an Board Lula

 

Interessant wäre es zu wissen, was für ein Statement du genau gegen deine DB abgesetzt hast. Für dieses Fehlerbild gibt es diverse Möglichkeiten.

 

Pauschal verlinke ich dir mal noch zwei KBs:

FIX: Error 8624 may occur with subquery that contains aggregate or computed columns

FIX: You receive a "Server: Msg 8624, Level 16, State 1, Line 3 Internal SQL Server error." error message when you compile a delete query that contains sub-queries that use "NOT IN" clauses in SQL Server 2000

 

Gruß

Carsten

Link zu diesem Kommentar

Die RAM-Variante würde ich ausschließen. WIr habe extra mal 2gig mehr eingebaut - keine verbesserung.

 

Die Abfrage sieht wie folgt aus:

 

SELECT

TRA_Transaktion_ID=(SELECT

5--@TRA_Transaktion_ID@

),

count(distinct ao.objektnr) AS FELD_2667, --anz_vessel,

count(distinct ao.krd_finanzierung_id) as anz_fin,

SUM(bf.Saldo_Ende_EUR) AS FELD_2668, --as saldo,

AVG(schiff_bf.LTV)AS FELD_2669,

isnull(kl.name,'---') AS FELD_2665, --schiffsklasse,

isnull(ukl.name,'---') AS FELD_2666 --schiffsunterklasse

from

qryBestandsfuehrung bf

INNER JOIN KRD_Darlehen d

ON bf.MTD_Mandant_ID = d.MTD_Mandant_ID

AND bf.KRD_Darlehen_ID = d.KRD_Darlehen_ID

INNER JOIN KRD_Assetobjekt ao

ON d.KRD_Finanzierung_ID = ao.KRD_Finanzierung_ID

AND d.MTD_Mandant_ID = ao.MTD_Mandant_ID

INNER JOIN qryBerichtsperiode bp

ON bf.STD_Periode_ID = bp.Letzte_ID

AND bf.MTD_Mandant_ID = bp.MTD_Mandant_ID

INNER JOIN qryTransaktion_Finanzierung_BP t

ON d.MTD_Mandant_ID = t.MTD_Mandant_ID

AND d.KRD_Darlehen_ID = t.KRD_Darlehen_ID

INNER JOIN qryFinanzierung f

ON d.KRD_Finanzierung_ID = f.KRD_Finanzierung_ID

AND d.MTD_Mandant_ID = f.MTD_Mandant_ID

INNER JOIN OBJ_SCHIFF_Bestandsfuehrung schiff_bf

ON ao.KRD_Assetobjekt_ID = schiff_bf.KRD_Assetobjekt_ID

AND ao.MTD_Mandant_ID = schiff_bf.MTD_Mandant_ID

AND bp.Letzte_ID = schiff_bf.STD_Periode_ID

AND bp.MTD_Mandant_ID = schiff_bf.MTD_Mandant_ID

RIGHT OUTER JOIN OBJ_SCHIFF schiff

LEFT OUTER JOIN OBJ_SCHIFF_Schiffsunterklasse ukl

ON schiff.MTD_Mandant_ID = ukl.MTD_Mandant_ID

AND schiff.OBJ_SCHIFF_Schiffsunterklasse_ID = ukl.OBJ_SCHIFF_Schiffsunterklasse_ID

LEFT OUTER JOIN OBJ_SCHIFF_Schiffsklasse kl

ON schiff.OBJ_SCHIFF_Schiffsklasse_ID = kl.OBJ_SCHIFF_Schiffsklasse_ID

ON ao.KRD_Assetobjekt_ID = schiff.KRD_Assetobjekt_ID

AND ao.MTD_Mandant_ID = schiff.MTD_Mandant_ID

where bf.MTD_Mandant_ID=-2147483648--@MTD_Mandant_ID@

and bp.TRA_Berichtsperiode_ID=16--@TRA_Berichtsperiode_ID@

and t.TRA_Transaktion_ID=13--@TRA_Transaktion_ID@

and t.TRA_Berichtsperiode_ID=16--@TRA_Berichtsperiode_ID@

and f.Anzahl_Schiffe = 1 --nur 1:1-Finanzierungen

group by ao.krd_finanzierung_id,

schiff.obj_schiff_schiffsklasse_id,

schiff.obj_schiff_schiffsunterklasse_id,

kl.name ,

ukl.name

 

Die Abfrage funktioniert.

select * from ( <hier die abfrage> )t Funktioniert hingegen nicht. Auch select count(*) ... läuft auf den gleichen Fehler.

 

Laut MS ist das von phoenixcp gelinkte Hotfix bzgl. Fehler bei aggregierten Feldern bereits im SP4 enthalten und darum nicht mehr verfügbar. Und SP4 ist bei uns installiert....

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...