Wie umgehe ich die Fehlermeldung: Der Abfrageprozessor hatte während der Abfrageoptimierung zu wenig Stapelspeicherplatz.

26/05/2008 - 16:49 von Martin Richter [MVP] | Report spam
Hi!

SQL 2005 Server: Ich habe eine Tabelle deren Id Feld sehr von anderen
Feldern in anderen Tabellen ziemlich oft referenziert wird
(Fremdschlüssel Anzahl sicherlich >150).

Will ich nun ein Item aus dieser Tabelle löschen, dass auch garantiert
nicht verwendet wird, dann erhalte ich die folgende Fehlermeldung:

Microsoft OLE DB Provider for SQL Server: Der Abfrageprozessor hatte
wàhrend der Abfrageoptimierung zu wenig Stapelspeicherplatz.
Vereinfachen Sie die Abfrage. [42000] †21

Die DB existierte unter SQL 2000 Server identisch und machte dort keine
solche Zicken.
Das Problem erhalte ich auch wenn ich das Management Studio nutze um
solch eine Zeile zu löschen.
Das Problem ist nachvollziehbar in dem ich auch eine neue Zeile anlege
und sofort wieder löschen möchte. Es geht einfach nicht.
Zu vereinfachen ist hier gar nichts, denn es ist ein einfaches DELETE
FROM x WHERE IDG11 das ich ausführe.

Gibt es einen Tuning Parameter mit dem ich den besagten
"Stapelspeicherplatz" erhöhen/vergrößern kann?

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com
 

Lesen sie die antworten

#1 Torsten Schuessler
27/05/2008 - 08:37 | Warnen spam
Hallo Martin,

hast Du dir mal den Ausführungsplan angesehen?

USE DB
GO
SET SHOWPLAN_ALL ON;
GO
Deine Abfrage
DELETE FROM x WHERE IDG11

GO
SET SHOWPLAN_ALL OFF;
GO

...
Bei der Anzahl von FK's würde ich eher über ein redesign nachdenken.

CU
tosc

InsideSQL.org: http://www.insidesql.org
Blog: http://www.insidesql.org/blogs/tosc

"Martin Richter [MVP]" schrieb im Newsbeitrag
news:
Hi!

SQL 2005 Server: Ich habe eine Tabelle deren Id Feld sehr von anderen
Feldern in anderen Tabellen ziemlich oft referenziert wird (Fremdschlüssel
Anzahl sicherlich >150).

Will ich nun ein Item aus dieser Tabelle löschen, dass auch garantiert
nicht verwendet wird, dann erhalte ich die folgende Fehlermeldung:

Microsoft OLE DB Provider for SQL Server: Der Abfrageprozessor hatte
wàhrend der Abfrageoptimierung zu wenig Stapelspeicherplatz. Vereinfachen
Sie die Abfrage. [42000] †21

Die DB existierte unter SQL 2000 Server identisch und machte dort keine
solche Zicken.
Das Problem erhalte ich auch wenn ich das Management Studio nutze um solch
eine Zeile zu löschen.
Das Problem ist nachvollziehbar in dem ich auch eine neue Zeile anlege und
sofort wieder löschen möchte. Es geht einfach nicht.
Zu vereinfachen ist hier gar nichts, denn es ist ein einfaches DELETE FROM
x WHERE IDG11 das ich ausführe.

Gibt es einen Tuning Parameter mit dem ich den besagten
"Stapelspeicherplatz" erhöhen/vergrößern kann?

Martin Richter [MVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
FAQ: http://www.mpdvc.de Samples: http://www.codeproject.com

Ähnliche fragen