Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

Wie man das Paging von Puffer-Poolspeicher in der 64-Bit-Version von SQL Server reduziert

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 918483
Zusammenfassung
Microsoft SQL Server führt basierend auf den Speicheranforderungen der aktuellen Auslastung und Aktivitäten auf dem System eine dynamische Speicherverwaltung durch. Auf einem System mit Windows Server 2003, Windows XP oder einer höheren Version kann der SQL Server Benachrichtigungsmechanismen für den Speicher verwenden, die von der QueryMemoryResourceNotification-Windows-API bereitgestellt werden. Auf einem Microsoft Windows 2000 Server-basierten System berechnet SQL Server regelmäßig freien physikalischen Speichers auf dem System mit systemeigenen Windows-API. Anhand dieser Informationen aus der QueryMemoryResourceNotification Windows-API oder aus der Arbeitsspeicher-Berechnung reagiert der SQL Server auf den aktuellen Speicherzustand auf einem bestimmten System. Dies bringt die folgenden Vorteile:
  • Das System lagert das Workingset des SQL-Server-Prozesses nicht aus.
  • Die erforderlichen Datenbankseiten stehen im Speicher zur Verfügung um die physischen I/O-Anforderungen zu reduzieren.
Weitere Informationen finden Sie unter dem Thema "Dynamic Memory Management" und "Serverarbeitsspeicher-Optionen" in SQL Server Books Online.
Problembeschreibung
In 64-Bit-Editionen von SQL Server können verschiedene Probleme auftreten. Beispielsweise können die folgenden Probleme auftreten:
  • Die Leistung von SQL Server verringert sich plötzlich.
  • Ein Computer mit SQL Server reagiert für kurze Zeit nicht.
  • Es treten Timeouts für Clientanwendungen auf, die sich mit dem SQL Server verbinden.
  • Auch wenn Sie einfache Befehle ausführen oder Anwendungen auf dem System nutzen, treten Probleme auf.
Wenn Sie SQL Server 2005 Service Pack 2 (SP2) oder höher installiert haben, wird eine der folgenden Fehlermeldungen im SQL Server-Fehlerprotokoll protokolliert, wenn diese Probleme auftreten:
Fehlermeldung 1
Datumuhrzeit spid1s ein wichtiger Teil der Sql Server-Prozessspeicher hat ausgelagert. Dies kann zu Leistungseinbußen führen. Dauer: 0 Sekunden. Arbeitsseiten (KB): 1086400, Commit (KB): 2160928, speicherauslastung: 50 %.
Fehlermeldung 2
Datumuhrzeit spid1s ein wichtiger Teil der Sql Server-Prozessspeicher hat ausgelagert. Dies kann zu Leistungseinbußen führen. Dauer: 315 Sekunden. Arbeitsseiten (KB): 410156, Commit (KB): 2201296, speicherauslastung: 18 %.
Fehlermeldung 3
Datumuhrzeit spid1s ein wichtiger Teil der Sql Server-Prozessspeicher hat ausgelagert. Dies kann zu Leistungseinbußen führen. Dauer: 646 Sekunden. Arbeitsseiten (KB): 901904, Bestätigt (KB): 2215752, Speicher-Auslastung: 40 %.

Microsoft SQL Server-Support-Team beobachtete auch Fehlermeldungen oder Warnungen, die im SQL Server-Fehlerprotokoll oder in den Windows-Ereignisprotokollen aufgezeichnet werden. Diese Meldungen können folgendermaßen aussehen:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.2009-05-05 12:54:52.18 Server      * *******************************************************************************2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 02009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor2009-05-05 12:54:52.18 Server      * *******************************************************************************2009-06-10 09:13:53.44 Server      * *******************************************************************************2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 02009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener2009-06-10 09:13:53.44 Server      * *******************************************************************************2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]Event Type:	ErrorEvent Source:	SQLBrowserEvent ID:	8Description: The SQLBrowser service was unable to process a client request. 
Diese zusätzlichen Fehlermeldungen oder Warnungen werden möglicherweise zusammen mit der Fehlermeldung "ein bedeutender Teil des Sql Server-Prozessspeicher wurde ausgelagert" angezeigt. In einigen Fällen diese Fehlermeldungen oder Warnungen nicht zusammen mit der Fehlermeldung angezeigt.

Sollten Sie eine dieser Fehlermeldungen oder Warnungen beobachten, betrachten Sie die Auslagerung des SQL Server-Arbeitssatzes, welche in diesem Artikel erläutert wird, als eine mögliche, aber nicht die einzige Ursache. Diese zusätzlichen Fehlermeldungen oder Warnungen könnten aber auch wegen verschiedener anderer Zustände oder Ursachen protokolliert werden.
Ursache
Dieses Problem tritt auf, weil das Windows-Betriebssystem das Workingset des SQL Server-Prozesses auslagert.

Diese Fehlermeldungen werden protokolliert, wenn die dem SQL Server Prozess zugewiesenen Arbeitsspeicherseiten 50 Prozent oder weniger des eigentlich zugewiesenen Speichers für den SQL Server-Prozess ausmachen. Sie können diese Fehlermeldungen dazu verwenden, um herauszufinden, wenn eine erhebliche Verringerung der SQL Server-Leistung auf eine Auslagerung des Arbeitssatzes durch das Windows Betriebssystem zurück zu führen ist. Diese Fehlermeldungen werden außerdem alle 5 Minuten während der ersten 30 Minuten protokolliert. Nach den ersten 30 Minuten verdoppelt sich die Zeit zwischen den Fehlermeldungen bis die maximale Zeit von einem Tag erreicht ist.

Wenn dieses Problem auftritt, stellen Sie möglicherweise fest, dass das Workingset von anderen Programmen im System auch gleichzeitig ausgelagert wird.
Weitere Informationen finden Sie auf der folgenden Microsoft-Website: Darüber hinaus besteht ein bekanntes Problem in SQL Server, durch welches Sie ebenfalls diese Fehlermeldung erhalten können. Die Fehlermeldung wird beim Starten von SQL Server im SQL Server-Fehlerprotokoll protokolliert. Die Fehlermeldung ist möglicherweise eine Falschmeldung. Daher bedeutet es möglicherweise nicht, dass der Arbeitssatz tatsächlich gestutzt worden ist. Weitere Informationen finden Sie auf folgender Microsoft-Website:
Abhilfe
Bevor Sie versuchen, dieses Problem zu umgehen, führen Sie die Schritte im Abschnitt "Wie Sie dieses Problem beheben" aus, um das Problems zu beseitigen.

Wenn dieses Problem weiterhin auftritt, können Sie verhindern Betriebssystem ausgelagert Poolspeicher Puffer des SQL Server-Prozesses durch das Sperren des Speichers, der für den Pufferpool im physischen Speicher zugeordnet wird. Sperren Sie Speicher durch das Benutzerrecht Seiten im Speicher sperren , das als Startkonto des SQL Server-Dienstes verwendete Benutzerkonto zuweisen.

Hinweis Für 64-Bit-Editionen von SQL Server können nur SQL Server Enterprise Edition Benutzer das Recht Seiten im Speicher sperren verwenden. Dies gilt für SQL Server 2005 [RTM, SP1, SP2, SP3] und SQL Server 2008 [RTM und SP1]. SQL Server 2008 SP1 Kumulatives Update 2 und SQL Server 2005 SP3 Kumulatives Update 4 bieten Unterstützung für SQL Server Standard Edition Benutzer Sperren von Seiten im Speicher direkt verwenden. Für weitere Informationen zur Unterstützung für gesperrte Seiten auf 64-Bit-Systemen klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
970070 Unterstützung für gesperrt auf SQL Server 2005 Standard Edition 64-Bit-Systemen und auf SQL Server 2008 Standard Edition 64-Bit-Systeme
Das Benutzerrecht Seiten im Speicher sperren zuzuweisen, gehen Sie folgendermaßen vor:
  1. Klicken Sie auf Startund auf Ausführen, geben gpedit.msc, und klicken Sie dann auf OK.

    HinweisGruppenrichtlinien -Dialogfeld wird angezeigt.
  2. Erweitern Sie Computerkonfigurationund dann Windows-Einstellungen.
  3. Erweitern Sie Sicherheit, und erweitern SieLokale Richtlinien.
  4. Klicken Sie auf Zuweisen von Benutzerrechten, und doppelklicken Sie auf Sperre Seiten Inmemory.
  5. Klicken Sie im Dialogfeld Lokale Sicherheitsrichtlinieauf Benutzer oder Gruppe hinzufügen.
  6. Klicken Sie im Dialogfeld Benutzer oder Gruppen auswählen fügen Sie das Konto mit der Berechtigung zum Ausführen der Datei Sqlservr.exe, und klicken Sie aufOK.
  7. Schließen Sie das Dialogfeld Gruppenrichtlinie .
  8. Starten Sie den SQL Server-Dienst.
Nach dem Zuordnen von das Benutzerrecht Seiten im Speicher sperren und den SQL Server-Dienst neu starten, Windows-Betriebssystems nicht mehr Seiten, wird der Puffer Poolspeicher in SQL Server verarbeiten. Windows-Betriebssystem können jedoch weiterhin Nonbuffer Pool-Speicher innerhalb des SQL Server-Prozesses Seite.

Sie können überprüfen, dass das Benutzerrecht sicherstellen, dass die folgende Meldung in das Fehlerprotokoll von SQL Server beim Start geschrieben wird durch die Instanz von SQL Server verwendet wird:
Verwenden gesperrter Seiten für den Pufferpool
Diese Meldung gilt nur für 64-Bit-Editionen von SQL hat weitere Informationen zu dieser Meldung im Fehlerprotokoll finden Sie auf der folgenden Microsoft-Website: Wenn Windows Betriebssystem Seiten Poolspeicher Nonbuffer heraus, können dennoch Leistungsprobleme auftreten. Die im Abschnitt "Symptome" aufgeführten Fehlermeldungen werden jedoch nicht im SQL Server-Fehlerprotokoll protokolliert. Dieses Verhalten tritt auf, weil die Arbeitsseiten eines Prozesses SQL Server normalerweise nicht 50 Prozent erreichen oder weniger des reservierten Speichers.
Weitere Informationen

Wie Sie dieses Problem beheben

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:
  1. Um bekannte Probleme zu beheben, die Windows-Betriebssystems zur Seite, das Workingset des Prozesses SQL Server führen, wenden Sie die in folgenden Artikeln der Microsoft Knowledge Base beschriebenen Hotfixes an

    Hinweis Hotfixes sind kumulativ. Eine neuere Version von Hotfix enthält die früheren Versionen dieses Hotfixes.
    • Microsoft hat ein Problem festgestellt, die 64-Bit-Edition von SQL Server möglicherweise Arbeitsseiten sein. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
      905865 Die Größe des Workingsets aller Prozesse in einer Konsolen-Sitzung möglicherweise gekürzt, wenn Sie Terminaldienste verwenden, um an- oder Abmelden von einem Computer mit Windows Server 2003
    • Sie fehlerhafte Puffer cache ist eine Anwendung gepufferten e/a wie Dateikopiervorgang können Windows Server 2003-Computern zu aggressiv sein. Dieses Verhalten kann das Workingset in SQL Server werden gekürzt. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
      920739 Einen Rückgang der Systemleistung kann auftreten, wenn Sie Dateien kopieren, die größer als ca. 500 MB in Windows Server 2003 oder Windows Server 2003-S
    • Die Arbeitsseiten SQL Server möglicherweise gekürzt, wenn das System einige erweiterten TCP-Funktionen verwenden. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
      942861 Fehlermeldung, wenn eine Anwendung mit SQL Server auf einem Server verbunden, auf dem Windows Server 2003 ausgeführt wird: "Allgemeiner Netzwerkfehler", "Kommunikations-Verbindungsfehler" oder "Ein Fehler"
    • Auf einen Multiprozessor-Computer, auf dem Windows Server 2003 ausgeführt wird, kann der Systemprozess die meisten verfügbaren Systemspeicher verbrauchen. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
      942486 System-Prozess verbraucht möglicherweise die meisten verfügbaren Systemspeicher auf einen Multiprozessor-Computer, auf dem Windows Server 2003 ausgeführt wird
  2. Wenn ein Gerätetreiber verwendet die MmAllocateContiguousMemory Funktion und setzt den Wert der HighestAcceptableAddress Parameter 4 Gigabyte (GB), kann das Windows-Betriebssystem, das Workingset des Prozesses SQL Server 64-Bit-Seite. Um dieses Problem zu beheben, Hersteller des Gerätetreibers für Treiberupdates. Eine Liste der Treiber, die Probleme haben, finden Sie im Abschnitt "andere Anbieter" im folgenden Artikel der Microsoft Knowledge Base:
    2121098 Empfohlene Betriebssystem-Updates und Treibern für SQL Server-Installationen
  3. Wenn Sie dennoch diese Probleme nach Hotfixes dazu, wenden Sie einen Windows-Hotfix an, der Anzahl von Kürzungsoperationen pro Prozess Klicken Sie für weitere Informationen auf die folgenden Artikelnummer, um die betreffende Artikel in der Microsoft Knowledge Base anzuzeigen:
    938486 Ein Windows Server 2003-Computer reagiert wegen eines Vorgangs Memory Manager verkürzen, das einem unbestimmten Modul verursacht wird, die viel Speicher anfordert
    956341 Ein Windows Server 2003-Computer reagiert aufgrund einer Anforderung zum Reservieren von Speicher
    Wenn ein Treiber versucht, Speicher, kann das Windows-Betriebssystem, das Workingset von anderen Programmen Seite. Dieser Hotfix Windows können Sie Event Tracing Gerätetreiber finden, der Problem verursacht. Weitere Informationen zu den jeweiligen Treiber, bei dem die Working Set Verhalten, finden Sie im MSDN-Artikel"Identifizieren der zusammenhängenden Speicher Treiber."
  4. Clientanwendungen können Systemcache zu viel und möglicherweise ein starkes Wachstum der Systemcache. Reaktion auf das Wachstum der Systemcache out Systemseiten das Workingset der SQL Server-Prozess oder andere Programme. Wenn dieses Problem auftritt, können Sie einige Speicher-Management-Funktionen in der Anwendung. Diese Funktionen steuern System Cachespeicher, die e/a-Dateioperationen in der Anwendung verwenden können. Beispielsweise können Sie die SetSystemFileCacheSize Funktion und GetSystemFileCacheSize Funktion der Cachespeicher System steuern, die e/a-Vorgänge verwenden können.

    Das Objekt Speicher können an die Werte verschiedener Leistungsindikatoren in diesem Objekt zu bestimmen, ob der Arbeitsseiten Systemcache zu viel Arbeitsspeicher verwendet. Beispielsweise können Sie die Leistungsindikatoren Cache Bytes und Systemcache: Residente Bytes anzeigen. Weitere Informationen zu diesem Thema finden Sie auf der folgenden Microsoft-Websites: Herunterladen und Bereitstellen von "Microsoft Windows Dynamic Cachedienst" Speicher gesteuert, der in den Systemcache verwendet wird.
  5. Ein Paging-Problem kann auftreten, wenn SQL Server mit SAP R/3 ausgeführt wird. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
    931308 Erhöhtem Paging auf die Festplatte auftreten bei einer SAP R/3-Anwendung auf einem Windows Server 2003-Computer ausführen
  6. Wenn Sie SQL Server unter Windows Server 2008 ausführen, müssen Sie Updates für bekannte Probleme anwenden, der Satz verkürzen oder unnötige übermäßiges Arbeitsspeicherverbrauch durch andere Komponenten arbeiten zu können. Klicken Sie für weitere Informationen auf die folgenden Artikelnummer, um die betreffende Artikel in der Microsoft Knowledge Base anzuzeigen:

    971442 Die Systemleistung des Servers wird erheblich verringert, beim Kopieren von Dateien von einem Server mit Windows Vista oder Windows Server 2008 über ein Netzwerk

    974609 Ein Computer mit Windows Server 2008 zufällig reagiert nicht mehr beim Ausführen einer großen Anwendung

    971714 Der Generierungsprozess Bericht reagiert Wenn Sie Perfmon.exe mit Active Directory Diagnostics Vorlage einen Bericht auf einem Windows Server 2008-basierten Domänencontroller ausführen
  7. Wenn Sie SQL Server unter Windows dienen 2008 R2 ausführen, müssen Sie Updates für bekannte Probleme anwenden, die working Set Zuschneiden zu können. Klicken Sie für Weitere Informationen auf den folgenden Artikeln der Microsoft Knowledge Base:
    979149 Ausführen einer große Anwendung reagiert ein Computer mit Windows 7 oder Windows Server 2008 R2

    2155311 Schlechter Leistung tritt auf einem Computer, der NUMA-Prozessoren ausgeführt wird Windows Server 2008 R2 oder Windows 7 Wenn viele Anfragen Thread Speicher innerhalb der ersten 4 GB Arbeitsspeicher

    2468345 Computer zeitweise fehlerhaft oder reagiert nicht mehr bei der Storport-Treiber in Windows Server 2008 R2

Speicher Ermitteln der 64-Bit-Editionen von SQL Server verwendet wird

Systemmonitor können Sie die Speicherseite anzuzeigen, die von 64-Bit-Editionen von SQL Server verwendet wird. Überwachen Sie hierzu den folgenden Leistungsindikator:
Leistung: Speicher
Indikator: Seiten/s
Weitere Informationen zur Verwendung dieses Leistungsindikators bestimmt die Speicherseite klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
889654 Gewusst wie: Bestimmen der geeigneten Auslagerungsdateigröße für 64-Bit-Versionen von Windows Server 2003 oder Windows XP
Außerdem kann die Auswirkung der Auslagerungsdatei auf 64-Bit-Editionen von SQL Server die folgenden Leistungsindikatoren überwachen gemessen werden:
Objekt: Prozess
Indikator: Private Bytes
Instanz: Sqlservr

Objekt: Prozess
Indikator: Arbeitsseiten
Instanz: Sqlservr
Private Bytes Zählers, die momentan Speicher. Der Arbeitsseiten-Leistungsindikator misst den physischen Speicher, der derzeit vom Prozess belegt wird. 64-Bit-Editionen von SQL Server verwendet den folgenden Leistungsindikator auch gemacht Pufferpool reserviert Speicher:
Leistung: SQL Server: Speicher-Manager
Indikator: Total Server Memory(KB)
Hinweis 64-Bit-Edition von SQL Server-Instanz um eine benannte Instanz handelt, ist der Name des Objekts wie folgt:
MSSQL$Instanzname: Speicher-Manager
Ist der Wert des Leistungsindikators Arbeitsseiten kleiner als der Wert des Leistungsindikators Total Server Memory(KB), wurde zumindest ein Teil des Pufferpools Speicher SQL Server Arbeitsseiten entfernt.

Nach dem Zuordnen von das Benutzerrecht Seiten im Speicher sperren und starten Sie den Dienst SQL Server-Pufferpool des SQL Server-Prozesses reagiert weiterhin auf Memory Resource Benachrichtigungsereignisse und dynamisch erhöht oder reduziert auf diese Ereignisse. Allerdings kann keine Speicherbereiche für den Pufferpool angezeigt, die im Speicher in die folgenden Leistungsindikatoren werden:
  • Der Indikator Private Bytes und Arbeiten mit Leistungsindikatoren im Systemmonitor
  • Die Spalte CPU-Auslastung auf der Registerkarte Prozesse im Task-Manager
Nach dieser Seiten gesperrt sind, stellen diese Leistungsindikatoren Speicherbereiche im SQL Server-Prozess, wenn diese Mittel Pufferpool nicht verwenden. Der Leistungsindikator Total Server Memory(KB) des Leistungsobjekts SQL Server: Speicher-Manager stellt genau den Speicher, der für den Pufferpool zugeordnet wird.

Wichtig Bevor Sie das "Lock Pages in Memory" für eine Instanz von einer 64-Bit-Edition von SQL Server zuweisen

Stellen Sie zusätzliche Aspekte, bevor Sie das Sperren von Seiten im Speicher zuweisen rechts. Wenn Sie diesen Benutzer auf Systemen, die falsch konfiguriert sind zuweisen, das System möglicherweise instabil oder eine geringere Leistung des gesamten Systems. Darüber hinaus können ID 333 im Ereignisprotokoll protokolliert werden.

Wenn Sie Microsoft Customer Support Service (CSS) für diese Probleme kontaktieren, CSS-Ingenieure fordert Sie möglicherweise auf diese Berechtigung für das Benutzerkonto zu widerrufen, das als Startkonto des SQL Server-Dienstes verwendet wird. Dieser Schritt möglicherweise wichtige Leistungsüberwachungsdaten, die CSS-Ingenieure für erforderliche Konfiguration der verschiedenen Optionen für SQL Server und andere Programme, die auf dem System ausgeführt werden können. Nachdem die Leistungsdaten in CSS-Ingenieure können Sie Seiten im Speicher sperren Benutzer rechts das Startkonto des SQL Server-Dienstes zuweisen.

Bevor Sie das Benutzerrecht Seiten im Speicher sperren zuweisen, stellen Sie sicher, Sie ein Systemmonitorprotokoll erfassen bestimmen den Arbeitsspeicherbedarf verschiedener Programme und Dienste, die auf dem System installiert. Diese Programme enthalten auch SQL Server. Um den Speicherbedarf zu bestimmen, sammeln Sie die folgenden Basisplaninformationen
  • Stellen Sie sicher, dass Sie die Option max Server Memory und min Server Memory aus korrekt eingestellt. Diese Optionen entsprechen nur den Speicherbedarf des Pufferpools des SQL Server-Prozesses. Diese Optionen enthalten nicht den Speicher, der für andere Komponenten in der SQL Server-Prozess zugeordnet ist. Dazu gehören die folgenden:
    • Die SQL Server-Arbeitsthreads
    • Mehrseitige Zuweisung des SQL Server-Speicher-Manager
    • Verschiedene DLLs und Komponenten der SQL Server-Prozess innerhalb des Adressraums des SQL Server-Prozesses lädt
    • Backup und Restore-Vorgänge
  • Die DLLs und Komponenten enthalten verschiedene OLE DB-Provider, erweiterte gespeicherte Prozeduren, Microsoft COM-Objekte, die für die Sp_OACreate gespeicherten Prozedur verknüpfte Server und SQL Server CLR verwendet werden. Speicher, der für diese Komponenten zugewiesen fällt unter die Nonbuffer Pool Region des Adressraums des SQL Server-Prozesses. Idealerweise die maximale Speichermenge zu ermitteln, die SQL Server-Prozess verwenden kann, müssen Sie den Speicher subtrahieren, der Komponenten, die nicht Pufferpool aus dem Gesamtspeicher zugeordnet wird, den SQL Server-Prozess verwenden soll. Den Restwert können Sie dann die Option max Server Memory festgelegt. Vor dem Festlegen der Option max Server Memory und min Server Memory aus sollten Sie das Thema "Die Speicheroptionen manuell festlegen" in der SQL Server-Onlinedokumentation sorgfältig überprüfen.
  • Bestimmen der Speicherbedarf von anderen Programmen und Komponenten des Windows-Betriebssystems. Clientanwendungen können andere SQL Server-Komponenten, z. B. SQL Server Agent Replikations-Agents von SQL Server, SQL Server Reporting Services, SQL Server Analysis Services, SQL Server Integration Services und SQL Server-Volltextsuche enthalten. Programme, die backup-Vorgänge und Kopiervorgänge ausführen können viel Speicher. Betrachten Sie Vorgänge wie Massenkopieren und der Snapshot-Agent, die Datei-e/a erzeugen. Berücksichtigen Sie den Speicherbedarf dieser Anwendung bei den Wert der Option max Server Memory und min Server Memory aus. Der Indikator Private Bytes und der Arbeitsseiten-Leistungsindikator unter Prozessobjekt für jeden Prozess können Sie um den Speicherbedarf für einen bestimmten Prozess zu ermitteln.
  • Standardmäßig ist das Benutzerrecht Seiten im Speicher sperren bereits integrierten lokalen Systemkonto zugewiesen. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
  • Wenn Sie ein Windows-Benutzerkonto global für alle SQL Server-Prozesse in einer Domäne verwenden, bestimmen Sie die Benutzerrechte, die mithilfe einer Gruppenrichtlinie Konfigurations zugeordnet sind. Ein 32-Bit-SQL Server-Prozess kann dieses Konto als Startkonto verwenden. Dieses Konto erfordert jedoch das Benutzerrecht Seiten im Speicher sperren die Address Windowing Extensions (AWE) aktiviert. Weitere Informationen finden Sie im Thema "Bereitstellung die maximale Speichergröße für SQL Server" in der SQL Server-Onlinedokumentation.
  • Bevor Sie die Option max Server Memory und min Server Memory -Option für mehrere Instanzen von SQL Server konfigurieren, sollten Sie den Speicherbedarf des Nonbuffer Pool für jede Instanz von SQL Server. Konfigurieren Sie diese Optionen für jede Instanz von SQL Server.
Im Idealfall sammeln Sie diese Basisplaninformationen während Spitzenbelastungszeiten. Daher können Sie den Speicherbedarf für verschiedene Programme und Komponenten unterstützen die Spitzenlast ermitteln. Speicher variieren von einem System auf ein anderes System, Aktivitäten und Programme, die auf dem System ausgeführt werden.

Wie Sie Informationen aus SQL Server Ringpuffer der Speichermangels bestimmen, wenn Paging auftritt

Können Daten aus SQL Server Ringpuffer Festlegen der Speicher auf dem Server Wenn Paging auftritt. Ein Skript wie das folgende Skript können Sie um diese Informationen zu erhalten.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,   a.* , sys.ms_ticks AS [Current Time] FROM  (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type],  x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %],  x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB],  x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB],  x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB],  x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB],  x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB],  x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB],  x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id],  x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB],  x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB],  x.value('(//Record/@id)[1]', 'bigint') AS [Record Id],  x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type],  x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators],  x.value('(//Record/@time)[1]', 'bigint') AS [Record Time] FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers  WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a CROSS JOIN sys.dm_os_sys_info sysORDER BY a.[Record Time] ASC

Hinweis Diese Abfrage ist gültig für SQL Server 2005 und SQL Server 2008.

In dynamic Management View dm_os_process_memory zu verstehen, ob das System Speichermangel auftreten bereitgestellten können Informationen abgefragt werden. Weitere Informationen finden Sie in des Onlinedokumentation zu SQL Server 2008 Verweis auf der folgenden MSDN-Website: SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) bietet mehrere Regeln Situationen erkennen, die working Set Zuschneiden des SQL Server-Prozesses führen kann. SQL Server 2008 R2 BPA unterstützt SQL Server 2008 und SQL Server 2008 R2.

Regel-softwareRegel-TitelBeschreibungProduktversionen, die Regel ausgewertet wird
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)
SQL Server-sind Speicher falsch


Wenn Sie das BPA-Tool ausführen und die Warnung "Database Engine - SQL Server Speicher falsch sind" müssen Sie max Server Memory festgelegt für diese Instanz von SQL Server und die Vorschläge im Abschnitt "wichtige Hinweise vor dem Zuweisen 'Lock Pages in Memory' Benutzer für ein 64-Bit-Edition von SQL Server" dieses Artikels.SQL Server 2008
SQL Server 2008 R2


SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Dateien und Treiber benötigt Updates für working Set verkürzenWenn Sie BPA ausführen, den Fehler tritt "Datenbankmodul - Betrieb von Systemdateien und Treibern benötigt Update für Arbeitsseiten zuschneiden," müssen Sie die im Abschnitt "Lösung" dieses Artikels beschriebenen Updates überprüfen und anzuwenden.
SQL Server 2008
SQL Server 2008 R2

SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Beträchtlicher Teil der SQL Server-Speicher hat ausgelagert wurde
Wenn Sie BPA-Tool und der Fehler "Datenbankmodul - beträchtlicher Teil der SQL Server-Speicher ausgelagerten," müssen Sie in den Abschnitten "Lösung" und "Abhilfe" dieses Artikels überprüfen und entsprechende Maßnahmen ergreifen.
SQL Server 2008
SQL Server 2008 R2


Verbesserung in WindowsServer 2008 und Windows Server 2008 R2


Windows Server 2008 und Windows Server 2008 R2 verbessert zusammenhängend Verteilung Mechanismus. Diese Verbesserung ermöglicht Windows Server 2008 und Windows Server 2008 R2 eingeschränkt verringern Effekte ausgelagert das Workingset der Anwendung beim Eintreffen neuer Speicher Anfragen.

Es folgt eine Erläuterung der Verbesserung von Microsoft-Whitepaper "Setzt in Memory Management in Windows":

In Windows Server 2008 wird die Zuweisung von physisch Speicher erheblich verbessert. Anfragen zusammenhängenden Speicher sind eher erfolgreich, da der Speicher-Manager jetzt dynamisch Seiten normalerweise ersetzt, ohne die Arbeitsseiten Zuschneiden oder e/a-Vorgänge. Außerdem viele weitere Arten von Seiten, Kernel-Stacks und Datei Metadaten Systemseiten, u.a. – sind nun für Ersatz. Folglich ist mehr zusammenhängenden Speicher jederzeit erhältlich. Darüber hinaus wird die Kosten zu solchen Zuordnung erheblich reduziert.
Das Whitepaper "Setzt in Memory Management in Windows" finden Sie auf folgender Microsoft-Website:
Weitere Informationen finden Sie auf der folgenden Microsoft-Websites:
Hinweis Auf einem Windows Server 2008-Computer installieren Sie SQL Server Service Pack 2 (SP2) oder ein höheres Servicepack für SQL Server.

Die in diesem Artikel erörterten Produkte von Drittanbietern werden von Unternehmen hergestellt, die von Microsoft unabhängig sind. Microsoft übernimmt keine Garantie, weder konkludent noch anderweitig, für die Leistung oder Zuverlässigkeit dieser Produkte.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 918483 – Letzte Überarbeitung: 10/04/2015 12:02:00 – Revision: 3.0

  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtde
Feedback
>>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");