Update: Fehlermeldung, wenn Sie eine Tabellenwertfunktion (TVF) zusammen mit der CROSS APPLY-Operator in einer Abfrage in SQL Server 2005 verwenden: "Es ist nicht genügend Systemarbeitsspeicher zum Ausführen dieser Abfrage"

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 924954 - Produkte anzeigen, auf die sich dieser Artikel bezieht
# Fehler: 50000224 (SQL-Hotfix)
Microsoft stellt Updates für Microsoft SQL Server 2005 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die folgenden zu dieser Hotfix-Version:
  • Durch das Hotfix-Paket behobene Probleme
  • Voraussetzungen für die Anwendung des Hotfix-Pakets
  • Gibt an, ob müssen Sie den Computer neu starten nach der Installation des Hotfix-Pakets
  • Gibt an, ob das Hotfix-Paket wird durch ein anderes Hotfixpaket ersetzt
  • Gibt an, ob Sie Registrierungsänderungen vornehmen müssen, nachdem Sie das Hotfix-Paket angewendet
  • In diesem Hotfix-Paket enthaltene Dateien

Problembeschreibung

Stellen Sie sich das folgende Szenario vor. In Microsoft SQL Server 2005 verwenden Sie eine Tabellenwertfunktion (TVF) zusammen mit dem CROSS APPLY-Operator in einer Abfrage. Verwenden Sie eine Transact-SQL-TABELLENWERTFUNKTION oder eine common Language Runtime (CLR) TABELLENWERTFUNKTION. In diesem Szenario wird möglicherweise die folgende Fehlermeldung angezeigt:
Msg 701, Schweregrad 17, Status 123, Zeile 2
Ist genügend Arbeitsspeicher zum Ausführen dieser Abfrage.
Dieses Problem tritt Sie in der Regel, wenn die Tabelle auf der linken Seite der Abfrage viele Zeilen erzeugt.

Ursache

Dieses Problem, da der Speicher, die für die Parameter für die TABELLENWERTFUNKTION verwendet wird erst freigegeben ist die Abfrage beendet ist. Wenn Sie eine TABELLENWERTFUNKTION zusammen mit dem CROSS APPLY-Operator verwenden, kann die TABELLENWERTFUNKTION oft aufgerufen werden selbst wenn die Abfrage einmal ausgeführt wird. Wenn die TABELLENWERTFUNKTION viele Male aufgerufen wird, ist viel Speicher belegt.

Lösung

Hotfix-Informationen

Es ist ein unterstützter Hotfix von Microsoft erhältlich. Der Hotfix ist jedoch nur die Behebung des Problems die in diesem Artikel beschriebene vorgesehen. Installieren Sie diesen Hotfix nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix kann einem späteren Zeitpunkt zusätzliche Tests unterzogen. Wenn durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft daher, auf die nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download verfügbar ist, ist ein Abschnitt "Hotfix Download available (Hotfixdownload verfügbar" am oberen Rand dieser Knowledge Base-Artikel. Wenn in diesem Abschnitt nicht angezeigt wird, wenden Sie sich an technischen Kundendienst und Support, um den Hotfix zu erhalten.

Hinweis: Wenn weitere Probleme auftreten oder wenn eine Problembehandlung erforderlich ist, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten die für zusätzliche Supportfragen und Probleme, die für diesen speziellen Hotfix nicht qualifizieren. Eine vollständige Liste der technischen Kundendienst und Support-Telefonnummern oder eine separate Serviceanfrage erstellen die folgende Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support
Hinweis: Das Formular "Hotfix Download available (Hotfixdownload verfügbar" zeigt die Sprachen für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist es, da ein Hotfix nicht für diese Sprache zur Verfügung steht.

Voraussetzungen

  • Microsoft SQL Server 2005 Service Pack 1 (SP1)

    Informationen dazu, wie SQL Server 2005 SP1 zu erhalten finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    913089Beziehen der neuesten Service Packs für SQL Server 2005

Informationen zum Neustart

Sie müssen den Computer nach der Hotfix-Installation neu starten.

Informationen zur Registrierung

Sie müssen die Registrierung ändern.

Dateiinformationen

Dieser Hotfix enthält nur die Dateien, die um die Probleme zu beheben, die in diesem Artikel aufgelistet erforderlich sind. Dieser Hotfix enthält möglicherweise nicht alle Dateien, die Sie benötigen, um ein Produkt vollständig auf den neuesten Stand zu aktualisieren.

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Verwenden Sie die Registerkarte Zeitzone im Element Datum und Uhrzeit in der Systemsteuerung, um die Differenz zwischen UTC und der Ortszeit zu ermitteln.
SQL Server 2005, 32-Bit-Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Logread.exe2005.90.2192.0398,11219-Sep-200615: 10X 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2192.0543,52019-Sep-200615: 11X 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2192.0138,01619-Sep-200615: 09X 86
Microsoft.AnalysisServices.dll9.0.2192.01,215,26419-Sep-200615: 10X 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2192.075,55219-Sep-200615: 08X 86
Microsoft.SqlServer.SqlEnum.dll9.0.2192.0908,06419-Sep-200615: 10X 86
Msgprox.dll2005.90.2192.0197,92019-Sep-200615: 09X 86
Msmdlocal.dll9.0.2192.015,609,63219-Sep-200615: 11X 86
Msmdredir.dll9.0.2192.03,990,30419-Sep-200615: 11X 86
Replprov.dll2005.90.2192.0547,61619-Sep-200615: 11X 86
Replrec.dll2005.90.2192.0782,11219-Sep-200615: 10X 86
Sqlaccess.dll2005.90.2192.0347,93619-Sep-200615: 10X 86
Sqlagent90.exe2005.90.2192.0319,26419-Sep-200615: 10X 86
Sqlservr.exe2005.90.2192.028,962,13619-Sep-200615: 12X 86
Xpstar90.dll2005.90.2192.0292,64019-Sep-200614: 02X 86
Xpstar90.rll2005.90.2192.0152,86419-Sep-200615: 10X 86
SQL Server 2005 x 64-version
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Logread.exe2005.90.2192.0522,52819-Sep-200614: 23X 64
Microsoft.AnalysisServices.AdomdClient.dll9.0.2192.0543,52019-Sep-200614: 23X 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2192.0543,52019-Sep-200615: 11X 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2192.0138,01619-Sep-200615: 09X 86
Microsoft.AnalysisServices.dll9.0.2192.01,215,26419-Sep-200615: 10X 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2192.091,42419-Sep-200614: 21X 64
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2192.075,55219-Sep-200615: 08X 86
Microsoft.SqlServer.SqlEnum.dll9.0.2192.0875,29619-Sep-200614: 20X 86
Msgprox.dll2005.90.2192.0259,36019-Sep-200614: 22X 64
Msmdlocal.dll9.0.2192.015,609,63219-Sep-200615: 11X 86
Msmdredir.dll9.0.2192.03,990,30419-Sep-200615: 11X 86
Replprov.dll2005.90.2192.0745,24819-Sep-200614: 20X 64
Replrec.dll2005.90.2192.01,008,41619-Sep-200614: 21X 64
Sqlaccess.dll2005.90.2192.0355,10419-Sep-200614: 23X 86
Sqlagent90.exe2005.90.2192.0390,94419-Sep-200614: 23X 64
Sqlservr.exe2005.90.2192.039,350,04819-Sep-200614: 21X 64
Xpstar90.dll2005.90.2192.0540,96019-Sep-200614: 23X 64
Xpstar90.rll2005.90.2192.0153,37619-Sep-200614: 21X 64
SQL Server 2005, Itanium-Architektur version
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Logread.exe2005.90.2192.01,095,45619-Sep-200613: 52IA-64
Microsoft.AnalysisServices.AdomdClient.dll9.0.2192.0543,52019-Sep-200613: 51X 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2192.0543,52019-Sep-200615: 11X 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2192.0138,01619-Sep-200615: 09X 86
Microsoft.AnalysisServices.dll9.0.2192.01,215,26419-Sep-200615: 10X 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2192.0163,10419-Sep-200613: 50IA-64
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2192.075,55219-Sep-200615: 08X 86
Microsoft.SqlServer.SqlEnum.dll9.0.2192.0875,29619-Sep-200613: 52X 86
Msgprox.dll2005.90.2192.0542,49619-Sep-200613: 51IA-64
Msmdlocal.dll9.0.2192.048,585,50419-Sep-200613: 53IA-64
Msmdredir.dll9.0.2192.06,237,47219-Sep-200613: 53IA-64
Replprov.dll2005.90.2192.01,617,18419-Sep-200613: 52IA-64
Replrec.dll2005.90.2192.02,141,47219-Sep-200613: 52IA-64
Sqlaccess.dll2005.90.2192.0349,47219-Sep-200613: 51X 86
Sqlagent90.exe2005.90.2192.01,143,58419-Sep-200613: 52IA-64
Sqlservr.exe2005.90.2192.072,233,76019-Sep-200613: 53IA-64
Xpstar90.dll2005.90.2192.0951,07219-Sep-200613: 51IA-64
Xpstar90.rll2005.90.2192.0152,35219-Sep-200613: 50IA-64

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Wenn Sie die Transact-SQL-Abfrage ausführen, sehen, dass die folgenden Elemente erhöhen Sie allmählich bis 701 Fehler auftritt:
  • Die CACHESTORE_SQLCP Speicher Sachbearbeiter aus sys.dm_os_memory_clerks SQL Server-Betriebssystem-Management-Ansicht
  • Das Speicherobjekt MEMOBJ_XSTMT aus sys.dm_os_memory_objects SQL Server-Betriebssystem-Management-Ansicht
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Schritte zum Reproduzieren des Problems

  1. Schneller Reproduzieren des Problems konfigurieren Sie SQL Server 2005 eine kleine Menge an Arbeitsspeicher zu verwenden. Führen Sie hierzu das folgende Skript in SQL Server 2005.
    -- Enable advanced options
    USE master
    EXEC sp_configure 'show advanced options', 1
    go
    RECONFIGURE WITH OVERRIDE
    go
    
    -- Set the maximum amount of memory to 300 MB
    exec sp_configure 'max server memory', 300
    go
    reconfigure with override
    go
    dbcc freeproccache
    go
    
  2. Beenden und dann neu starten der SQL Server-Dienst, führen Sie die folgenden Befehle an einer Eingabeaufforderung:
    net Stop mssqlserver
    net Start mssqlserver
  3. Führen Sie in SQL Server 2005 die folgenden Transact­SQL-Anweisungen aus.
    drop table t
    go
    create table t (c1 int, c2 int, c3 int, c4 int, c5 int, c6 int, c7 int, c8 int, c9 int, c10 int)
    go
    
    drop function fn_test
    go
    create function fn_test (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)
    returns @t table (c1 nvarchar(4) )
    with schemabinding
    as
    begin
    insert into @t values (N'abcd')
    return
    end
    go
    drop function fn_scalar
    go
    create function fn_scalar (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)
    returns nvarchar(4) 
    with schemabinding
    as
    begin
    declare @s nvarchar (4)
    set @s = N'abcd' 
    
    return @s
    end
    
    go
    drop function fn_test2
    go
    create function fn_test2 ()
    returns @t table (c1 nvarchar(4) )
    with schemabinding
    as
    begin
    insert into @t values (N'abcd')
    return
    end
    
    
    go
    set nocount on
    go
    declare @i int
    set @i = 0
    while @i < 5000000
    begin
    insert into t values (@i, @i, @i, @i, @i, @i, @i, @i, @i, @i)
    set @i = @i + 1
    end
    
    go
    -- The following select query returns the 701 error if you restrict max server memory to 300 MB
    select count(*) from t cross apply dbo.fn_test(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10)
    
    
Hinweis: Diese Schritte verwenden eine Transact-SQL-TABELLENWERTFUNKTION. Dieses Problem tritt auch auf, wenn Sie eine CLR-TABELLENWERTFUNKTION verwenden.

Eigenschaften

Artikel-ID: 924954 - Geändert am: Dienstag, 20. November 2007 - Version: 1.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
Keywords: 
kbmt kbautohotfix kbfix kbsql2005tsql kbexpertiseadvanced kbhotfixserver kbqfe kbpubtypekc KB924954 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 924954
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com