Update: Intermittent Abfrage-Verlangsamungen und hoher entsprechender CPU-Auslastung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 835864 - Produkte anzeigen, auf die sich dieser Artikel bezieht
# Fehler: 470933 (SHILOH_BUGS)
Microsoft SQL Server 2000-Updates werden als downloadbare Datei verteilt. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in vorherigen SQL Server 2000 enthalten waren.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Sie haben eine Arbeitsauslastung, die auf einem Computer mit mehreren Prozessoren ausgeführt wird, die erzwingt SQL Server viele Speichervorgänge Zuweisung und freien Speichervorgänge pro Sekunde (mehrere Hundert kleine Batches) aus, die pro Sekunde Kompilierung beispielsweise erfordern. Sie können feststellen, dass eine Abfrage, die normalerweise in einem bestimmten Zeitpunkt ausgeführt wird länger dauert, abschließen, obwohl die Abfrage dieselbe Menge an Daten verarbeitet, den gleiche Abfrageplan verwendet und dieselbe Menge an e/A führt. Der nur deutliche Unterschied ist eine Zunahme der CPU-Zeit und die verstrichene Zeit, die zum Ausführen der Abfrage. In extremen Fällen finden Sie möglicherweise, dass einfache Abfragen (z. B. SET ROWCOUNT 0) einige hundert Millisekunden ausgeführt und mehrere hundert Millisekunden der CPU-Zeit dauern.

Lösung

Informationen zu Service Packs

Installieren Sie das neueste Service Pack für Microsoft SQL Server 2000, um dieses Problem zu beheben. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
290211So erhalten Sie das neueste Service Pack für SQL Server 2000

Hotfix-Informationen

Die englische Version dieses Hotfixes weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time () angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   28-Oct-2003  04:21  2000.80.873.0     315,968  Custtask.dll     
   02-Oct-2003  20:59  2000.80.867.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll       
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   10-Oct-2003  18:52                    745,961  Instmsdb.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   12-Sep-2003  00:37                     12,305  Qfe469315.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   20-Jan-2004  00:45                  1,090,380  Replmerg.sql
   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll     
   16-Jan-2004  01:24  2000.80.908.0     307,784  Replrec.dll      
   16-Jan-2004  01:13  2000.80.908.0     159,813  Replres.rll
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   02-Jan-2004  19:42  2000.80.904.0     287,304  Rinitcom.dll     
   22-Oct-2003  00:08  2000.80.871.0      57,916  Semnt.dll        
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   02-Jan-2004  19:42  2000.80.904.0      53,832  Snapshot.exe     
   09-Dec-2003  20:07                    117,834  Sp3_serv_uni.sql
   16-Jan-2004  01:23  2000.80.908.0      28,672  Sqlagent.dll     
   16-Jan-2004  01:24  2000.80.908.0     311,872  Sqlagent.exe     
   07-Jan-2004  22:38  2000.80.905.0     126,976  Sqlakw32.dll     
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   27-Sep-2003  04:42  2000.80.865.0     180,792  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   22-Oct-2003  00:08  2000.80.871.0     401,984  Sqlqry.dll       
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   24-Jan-2004  01:59  2000.80.910.0   7,610,449  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   24-Jan-2004  01:59  2000.80.910.0     106,588  Sqsrvres.dll     
   02-Oct-2003  20:59  2000.80.867.0      33,340  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll     
   28-Oct-2003  04:21  2000.80.873.0     123,456  Stardds.dll      
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      
Hinweis: Aufgrund von Dateiabhängigkeiten enthält das aktuellste Update oder Feature, das diese Dateien enthält, möglicherweise auch weitere Dateien.

Status

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

Dieses Problem wurde erstmals im Microsoft SQL Server 2000 Service Pack 4.

Weitere Informationen

Weitere Informationen finden Sie die folgende KB-Artikelnummer:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Die meisten Arbeitsspeicher-Reservierungsanforderungen in SQL Server werden von eine Seite aus dem Pufferpool zuweisen behandelt. SQL Server verwaltet Leistungsindikatoren zum Nachverfolgen, wie viele Seiten aus dem Pufferpool als einen generischen Speicherpuffer anstelle eines Puffers für eine Datenbankseite verwenden werden gestohlen wurde haben. Der Befehl DBCC MEMORYSTATUS stellt Teile dieser Informationen zur Verfügung und wird im Fehlerprotokoll unter bestimmten Bedingungen mangelndem Speicher automatisch protokolliert. Diese Nummern werden auch verwendet, um andere Ereignisse in den Server, z. B. den Prozess für verzögertes Schreiben auszulösen. Weitere Informationen zu diesen Leistungsindikatoren und gestohlenen Speicher finden Sie die folgende KB-Artikelnummer:
271624Info: Mithilfe von DBCC MEMORYSTATUS Speichernutzung für SQL Server überwachen


Auf Multiprozessorcomputern muss Zugriff auf diese Zähler Werte serialisiert werden. SQL Server serialisiert die Leistungsindikatorwerte mithilfe einer Sperrvariable. Mit einem Sperrvariable versucht der Thread, der die Sperrvariable erwerben möchte die Sperre. Wenn die Sperre nicht verfügbar ist, rotiert der Thread in einer Schleife, in regelmäßigen Abständen rechecking der Verfügbarkeit der Ressource. Verfügt der Vorgang, der innerhalb der Sperrvariable Schutz auftritt, eine sehr kurze Dauer, z. B. inkrementieren oder Dekrementieren eines Leistungsindikators kann mit eine Sperrvariable viel schneller als ein Kernelobjekt Synchronisierung verwenden und dann Wechsel von den Benutzermodus zu den im Kernelmodus und sichern. Allerdings Wenn die Sperrvariable hoher contended wird, kann ein Thread mehr Zeit aufwenden rotiert die Sperre als nützliche durchführen möchten und. Aus diesem sind Spinlocks nicht empfiehlt sich für eine stark contended Datenstruktur zu schützen.

Dieser Hotfix verwendet einen Synchronisierungsmechanismus unterschiedliche dieser Leistungsindikatorwerte beibehalten. Es erfordert eine erhebliche Menge von Konflikten zu spürbaren Verzögerungen führen Zunahme der CPU-Zeit. In der Regel müssen Sie einen Server mit 8 oder mehr Prozessoren verfügen (sodass 8 Threads gleichzeitig ausgeführt werden) um eine Arbeitsauslastung zu verarbeiten, die viel Konflikte erzeugen können. Viele Konflikte möglicherweise eher auftreten, wenn Hyperthreading aktiviert ist, da es effektiv verdoppelt die Anzahl der Threads, SQL, die ausgeführt werden können.

Eigenschaften

Artikel-ID: 835864 - Geändert am: Freitag, 2. November 2007 - Version: 3.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Keywords: 
kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB835864 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: 835864
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