Update: Sie fällt eine Abnahme der Leistung beim Ausführen einer Abfrage, die UNION ALL-Operator in SQL Server 2000 Service Pack 4 verwendet

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 917606 - Produkte anzeigen, auf die sich dieser Artikel bezieht
# Fehler: 527 (SQL-Hotfix)
Microsoft stellt Updates für Microsoft SQL Server 2000 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2000 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. Sie Aktualisieren von Microsoft SQL Server 2000 Service Pack 3 (SP3), um Microsoft SQL Server 2000 Service Pack 4 (SP4). Führen Sie dann eine Abfrage, die den UNION ALL-Operator verwendet. In diesem Szenario möglicherweise eine Abnahme der Leistung fest.

Dieses Problem kann auftreten, wenn folgende Bedingungen erfüllt sind:
  • Daten aus verknüpften Tabellen Abfragen.
  • Die verknüpften Tabellen enthalten Spalten, die Einschränkungen zu verwenden.
  • Die verknüpften Tabellen enthalten eine Vielzahl von Datensätzen.
Darüber hinaus, dieses Problem tritt in der Originalversion von SQL Server 2000 in SQL Server 2000 erstellen Sie 8.00.850 und in SQL Server 2000 erstellt später als 8.00.850 erstellen.

Eine Liste mit allen öffentlich veröffentlichten SQL Server 2000 Service Pack-Hotfixes finden Sie im folgenden Artikel der Microsoft Knowledge Base:
894905Kumulative Liste der Hotfixes, die für SQL Server 2000 Service Pack 4 verfügbar sind

Ursache

Dieses Problem rührt von SQL Server einen ineffizienten Ausführungsplan erzeugt, der redundante Cluster Indexscans hat.

Lösung

Installiert der Installer nicht ordnungsgemäß auf diesen Hotfix x 64-basierte Systeme. Dieses Installationsproblem tritt auf, wenn folgende Bedingungen erfüllt sind:
  • Das System verwendet die Prozessorarchitektur Advanced Micro Devices (AMD) AMD64 oder Intel Extended Memory 64 Technology (EM64T)-Prozessorarchitektur.

    Hinweis: Dieses Problem tritt nicht auf Systemen, die Intel Itanium-Prozessor-Architektur verwenden.
  • Das System ist eine 64-Bit-Version des Betriebssystems Microsoft Windows Server ausgeführt.
  • Das System ist eine 32-Bit-Version von SQL Server 2000 ausgeführt.
Wir haben dieses Installationsproblem in späteren Builds von SQL Server 2000, beginnend mit 8.00.2244-Version korrigiert. Wenn Kunden SQL Server 2000 auf einem X 64-basierten System ausgeführt wird, diesen Hotfix anfordert, wird wir bereitstellen einen Build, das diesen Hotfix enthält, kann auf einem X 64-basierten System korrekt installiert werden. Der Build, den wir bereitstellen werden Version 8.00.2244 oder eine höhere Version.

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.

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, senden Sie eine Anfrage 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 2000 Service Pack 4 (SP4)

    Informationen zum Beziehen von SQL Server 2000 SP4 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    290211So erhalten Sie das neueste Service Pack für SQL Server 2000

Informationen zum Neustart

Sie müssen den Computer nach Installation dieses Hotfixes neu starten.

Informationen zur Registrierung

Sie nicht 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 2000 32-Bit-x 86-Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
80sp4-tools.sqlNicht zutreffend134,62819-Februar 200601: 40Nicht zutreffend
Dtsui.dll2000.80.2192.01,593,34404-Apr-200606: 00X 86
Impprov.dll2000.80.2192.0102,40004-Apr-200606: 00X 86
Msgprox.dll2000.80.2192.094,20804-Apr-200606: 00X 86
Msrpjt40.dll4.10.9424.0188,47324-Jan 200608: 13X 86
Mssdi98.dll8.11.50523.0239,10406-Jun-200522: 46X 86
Ntwdblib.dll2000.80.2192.0290,81604-Apr-200606: 00X 86
Odsole70.dll2000.80.2192.069,63204-Apr-200606: 00X 86
Osql.exe2000.80.2192.057,34404-Apr-200602: 28X 86
Pfclnt80.dll2000.80.2192.0430,08004-Apr-200606: 00X 86
Procsyst.SQLNicht zutreffend552,06817-Jun-200500: 15Nicht zutreffend
Replmerg.exe2000.80.2192.0163,84004-Apr-200602: 49X 86
Replmerg.SQLNicht zutreffend1,151,45004-Apr-200601: 56Nicht zutreffend
Replprov.dll2000.80.2192.0237,56804-Apr-200606: 00X 86
Replrec.dll2000.80.2192.0315,39204-Apr-200606: 00X 86
Replsub.dll2000.80.2192.0270,33604-Apr-200606: 00X 86
Repltran.SQLNicht zutreffend1,000,63402-Februar 200621: 59Nicht zutreffend
Semexec.dll2000.80.2192.0856,06404-Apr-200606: 00X 86
Sp4_serv_qfe.SQLNicht zutreffend18,81017-Jun-200500: 15Nicht zutreffend
SQLAgent.exe2000.80.2192.0323,58404-Apr-200601: 48X 86
Sqldiag.exe2000.80.2192.0118,78404-Apr-200604: 33X 86
SQLDMO.dll2000.80.2192.04,362,24004-Apr-200606: 00X 86
Sqlevn70.rll2000.80.2192.045,05604-Apr-200606: 00Nicht zutreffend
Sqlfth75.dll2000.80.2192.0102,40004-Apr-200602: 22X 86
Sqlservr.exe2000.80.2192.09,162,75204-Apr-200605: 59X 86
Sqlsort.dll2000.80.2192.0589,82404-Apr-200606: 00X 86
Stardds.dll2000.80.2192.0176,12804-Apr-200606: 00X 86
Svrnetcn.dll2000.80.2192.0110,59204-Apr-200606: 00X 86
Ums.dll2000.80.2192.035,32804-Apr-200606: 00X 86
Xpstar.dll2000.80.2192.0311,29604-Apr-200606: 00X 86
SQL Server 2000 Itanium-Architektur version
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Impprov.dll2000.80.2192.0244,73606-Apr-200611: 16IA-64
Msgprox.dll2000.80.2192.0188,41606-Apr-200611: 16IA-64
Mssdi98.dll8.11.50523.0758,78406-Apr-200611: 16IA-64
Msvcr71.dll7.10.3052.4348,16006-Apr-200611: 16X 86
Odsole70.dll2000.80.2192.0150,52806-Apr-200611: 16IA-64
Osql.exe2000.80.2192.0149,50406-Apr-200611: 16IA-64
Pfclnt80.dll2000.80.2192.01,187,84006-Apr-200611: 16IA-64
Procsyst.SQLNicht zutreffend552,06806-Apr-200611: 16Nicht zutreffend
Replmerg.exe2000.80.2192.0375,29606-Apr-200611: 16IA-64
Replmerg.SQLNicht zutreffend1,151,45006-Apr-200611: 16Nicht zutreffend
Replprov.dll2000.80.2192.0538,62406-Apr-200611: 16IA-64
Replprov2.dll2000.80.2192.0538,62406-Apr-200611: 16IA-64
Replrec.dll2000.80.2192.0775,16806-Apr-200611: 16IA-64
Replrec2.dll2000.80.2192.0775,16806-Apr-200611: 16IA-64
Replsub.dll2000.80.2192.0641,02406-Apr-200611: 16IA-64
Repltran.SQLNicht zutreffend1,000,63406-Apr-200611: 16Nicht zutreffend
SQLAgent.exe2000.80.2192.01,061,37606-Apr-200611: 16IA-64
Sqldiag.exe2000.80.2192.0334,33606-Apr-200611: 16IA-64
SQLDMO.dll2000.80.2192.013,860,35206-Apr-200611: 16IA-64
Sqlevn70.rll2000.80.2192.035,32806-Apr-200611: 16Nicht zutreffend
Sqlfth75.dll2000.80.2192.0246,78406-Apr-200611: 16IA-64
Sqlservr.exe2000.80.2192.024,932,86406-Apr-200611: 16IA-64
Sqlsort.dll2000.80.2192.0617,47206-Apr-200611: 16IA-64
Svrnetcn.dll2000.80.2192.0427,52006-Apr-200611: 16IA-64
Xpstar.dll2000.80.2192.0873,47206-Apr-200611: 16IA-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

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Schritte zum Reproduzieren des Problems

  1. Führen Sie in SQL Server 2000 SP4 die folgenden Anweisungen mithilfe von SQL Query Analyzer.
    use master
    go
    
    create database repro
    go
    
    use repro
    go
    
    create table t1 (i int constraint pkt1 primary key check ((i>11) and (i< 15)), j int )
    create table t2 (a int constraint pkt2 primary key check ((a>15) and (a< 20)), b int)
    create table t3 (c int constraint pkt3 primary key check ((c>7) and (c< 13)), d int)
    create table t4 (e int constraint pkt4 primary key check ((e>19) and (e< 24)), f int)
    create table s1 (i int constraint pkt5 primary key, j int)
    create table s2 (a int constraint pkt6 primary key, b int)
    create table s3 (c int constraint pkt7 primary key, d int)
    create table s4 (e int constraint pkt8 primary key, f int)
    go
    
    create view v1 as
    select t1.* from
    t1 inner join s1 on t1.i = s1.i
    union all
    select t2.* from
    t2 inner join s2 on t2.a = s2.a
    go
    
    create view v2 as
    select t3.* from
    t3 inner join s3 on t3.c = s3.c
    union all
    select t4.* from
    t4 inner join s4 on t4.e = s4.e
    go
    
  2. Damit SQL Server-Ausführungsinformationen zurückgeben, führen Sie die folgenden Anweisungen aus.
    set showplan_text on
    go
  3. Führen Sie die folgenden Anweisungen, und untersuchen Sie die Ausgabe.
    select * from v1 inner join v2 on i = c
    where i = 12 or i = 17
    go
    Der folgende ineffizient Ausführungsplan ist in der Ausgabe angezeigt.
    StmtText                                                                                                                
    ----------------------------------------------------------------------------------------------------------------------- 
      |--Concatenation
           |--Nested Loops(Inner Join, WHERE:([t3].[c]=[t1].[i]))
           |    |--Nested Loops(Inner Join)
           |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s1].[pkt5]), SEEK:([s1].[i]=12) ORDERED FORWARD)
           |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t1].[pkt1]), SEEK:([t1].[i]=12) ORDERED FORWARD)
           |    |--Nested Loops(Inner Join, OUTER REFERENCES:([t3].[c]))
           |         |--Clustered Index Scan(OBJECT:([Repro].[dbo].[t3].[pkt3]))
           |         |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s3].[pkt7]), SEEK:([s3].[c]=[t3].[c]) ORDERED FORWARD)
           |--Nested Loops(Inner Join, WHERE:([t4].[e]=[t2].[a]))
                |--Nested Loops(Inner Join)
                |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s2].[pkt6]), SEEK:([s2].[a]=17) ORDERED FORWARD)
                |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t2].[pkt2]), SEEK:([t2].[a]=17) ORDERED FORWARD)
                |--Nested Loops(Inner Join, OUTER REFERENCES:([t4].[e]))
                     |--Clustered Index Scan(OBJECT:([Repro].[dbo].[t4].[pkt4]))
                     |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s4].[pkt8]), SEEK:([s4].[e]=[t4].[e]) ORDERED FORWARD)
    
    (15 row(s) affected)
Wenn diese Schritte in SQL Server 2000 SP3 wird effizienten Ausführungsplan in der Ausgabe angezeigt.
StmtText                                                                                                                
----------------------------------------------------------------------------------------------------------------------- 
  |--Concatenation
       |--Nested Loops(Inner Join, OUTER REFERENCES:([s3].[c]))
       |    |--Nested Loops(Inner Join, OUTER REFERENCES:([t1].[i]))
       |    |    |--Nested Loops(Inner Join)
       |    |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s1].[pkt5]), SEEK:([s1].[i]=12) ORDERED FORWARD)
       |    |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t1].[pkt1]), SEEK:([t1].[i]=12) ORDERED FORWARD)
       |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s3].[pkt7]), SEEK:([s3].[c]=[t1].[i]) ORDERED FORWARD)
       |    |--Filter(WHERE:(STARTUP EXPR([s3].[c]<13 AND [s3].[c]>7)))
       |         |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t3].[pkt3]), SEEK:([t3].[c]=[s3].[c]) ORDERED FORWARD)
       |--Nested Loops(Inner Join, OUTER REFERENCES:([s4].[e]))
            |--Nested Loops(Inner Join, OUTER REFERENCES:([t2].[a]))
            |    |--Nested Loops(Inner Join)
            |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s2].[pkt6]), SEEK:([s2].[a]=17) ORDERED FORWARD)
            |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t2].[pkt2]), SEEK:([t2].[a]=17) ORDERED FORWARD)
            |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s4].[pkt8]), SEEK:([s4].[e]=[t2].[a]) ORDERED FORWARD)
            |--Filter(WHERE:(STARTUP EXPR([s4].[e]<24 AND [s4].[e]>19)))
                 |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t4].[pkt4]), SEEK:([t4].[e]=[s4].[e]) ORDERED FORWARD)

(17 row(s) affected)

Eigenschaften

Artikel-ID: 917606 - Geändert am: Freitag, 2. November 2007 - Version: 1.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
Keywords: 
kbmt kbautohotfix kbhotfixserver kbqfe kbpubtypekc KB917606 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: 917606
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