lula25
-
Gesamte Inhalte
2 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von lula25
-
-
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
2K: Internal SQL Server Error
in MS SQL Server Forum
Geschrieben
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....