Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

MS SQL Server Forum


Alles zum Thema Microsoft SQL Server — Q & A zu Microsoft SQL Server 2000 / 2005 / 2008 Architektur, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 31.03.2009, 10:09   #1
Newbie
 
Offline
Registriert seit: 03-2009
Beiträge: 2
2K: Internal SQL Server Error

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
    Mit Zitat antworten
Alt 31.03.2009, 10:25   #2
Senior Member
 
Benutzerbild von Perin
 
Offline
Registriert seit: 10-2002
Ort: Burgdorf
Beiträge: 318
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

Signatur
MCT, MCITP, MCSE, MCSA, MCDBA, SCJP, ITIL Service Manager und last, not least, Papa 4.0

    Mit Zitat antworten
Alt 31.03.2009, 10:28   #3
Expert Member
 
Benutzerbild von phoenixcp
 
Offline
Registriert seit: 02-2004
Ort: Radebeul
Beiträge: 5.470
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

Signatur
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

    Mit Zitat antworten
Alt 01.04.2009, 13:06   #4
Newbie
 
Offline
Registriert seit: 03-2009
Beiträge: 2
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....
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2K3 - IIS 6.0 - Internal Server Error analysieren Tschiki Windows Server Forum 0 07.05.2008 22:41
Virtual Server 2005 R2 Internal Server Error 500 StefanM511 Virtualisierung 5 20.03.2007 11:06
IIS Internal aplication error hep83 Windows Server Forum 0 20.02.2006 08:09
IIS - Internal Application Error hep83 Windows Server Forum 0 10.02.2006 10:00
iomega ditto max internal lemeid Windows Forum — Allgemein 0 11.05.2004 08:33


Alle Zeitangaben in MEZ/CET. Es ist jetzt 19:41 Uhr. Seite generiert in 0,032 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang