Überlegungen zum Verwenden des Datenbankoptimierungsratgebers
Bevor Sie den Datenbankoptimierungsratgeber verwenden, sollten Sie seine Funktionen und seine Auswirkungen auf die Leistung verstanden haben. In den folgenden Abschnitten werden diese Überlegungen beschrieben, aber die Liste erhebt keinen Anspruch auf Vollständigkeit. Welche Aspekte Sie beim Verwenden des Datenbankoptimierungsratgebers berücksichtigen müssen, hängt von der jeweiligen Umgebung und Implementierung von SQL Server ab.
Funktionen des Datenbankoptimierungsratgebers
Die folgenden Aufgaben werden vom Datenbankoptimierungsratgeber nicht ausgeführt:
Empfehlen von Indizes für Systemtabellen
Hinzufügen oder Löschen von eindeutigen Indizes bzw. Indizes, die PRIMARY KEY- oder UNIQUE-Einschränkungen erzwingen
Optimieren von Einzelbenutzerdatenbanken
Hinweis |
---|
Der Datenbankoptimierungsratgeber empfiehlt eindeutige, gruppierte Indizes für Sichten, sofern indizierte Sichten Teil seiner Empfehlung sind. |
Darüber hinaus gelten für den Datenbankoptimierungsratgeber die folgenden Einschränkungen:
Der Datenbankmodul-Optimierungsratgeber sammelt statistische Informationen, indem er Stichproben der Daten entnimmt. Daher kann die wiederholte Ausführung des Tools bei gleicher Arbeitsauslastung zu unterschiedlichen Ergebnissen führen.
Der Datenbankoptimierungsratgeber kann nicht verwendet werden, um Indizes in Datenbanken aus MicrosoftSQL Server 7.0 oder früher zu optimieren.
Wenn der angegebene maximale Datenträgerspeicher für Optimierungsempfehlungen den verfügbaren Speicherplatz überschreitet, verwendet der Datenbankoptimierungsratgeber den von Ihnen angegebenen Wert. Wenn Sie jedoch das Empfehlungsskript ausführen, um die Empfehlungen zu implementieren, erzeugt das Skript möglicherweise einen Fehler, wenn nicht vorher zusätzlicher Datenträgerspeicher hinzugefügt wird. Sie können den maximalen Datenträgerspeicher über die Option -B des Dienstprogramms dta angeben oder indem Sie einen Wert in das Dialogfeld Erweiterte Optimierungsoptionen eingeben.
Aus Sicherheitsgründen kann der Datenbankoptimierungsratgeber eine Arbeitsauslastung in einer Ablaufverfolgungstabelle, die sich auf einem Remoteserver befindet, nicht optimieren. Um diese Einschränkung zu umgehen, können Sie eine der folgenden Optionen auswählen:
Verwenden Sie eine Ablaufverfolgungsdatei anstelle einer Ablaufverfolgungstabelle.
Kopieren Sie die Ablaufverfolgungstabelle auf den Remoteserver.
Wenn Sie Einschränkungen festlegen, indem Sie z. B. (über die Option -B oder das Dialogfeld Erweiterte Optimierungsoptionen) den maximalen Datenträgerspeicher für Optimierungsempfehlungen angeben, ist der Datenbankoptimierungsratgeber u. U. gezwungen, bestimmte vorhandene Indizes zu löschen. In diesem Fall enthält die Empfehlung des Datenbankoptimierungsratgebers möglicherweise eine negative erwartete Verbesserung.
Wenn Sie eine Einschränkung hinsichtlich der Optimierungszeit angeben (indem Sie die Option -A des Dienstprogramms dta verwenden oder das Kontrollkästchen Optimierungszeit begrenzen auf der Registerkarte Optimierungsoptionen aktivieren), überschreitet der Datenbankoptimierungsratgeber möglicherweise das Zeitlimit, damit eine akkurate erwartete Verbesserung erstellt werden kann, und die Analyse gibt einen Bericht für den bislang verarbeiteten Teil der Arbeitsauslastung aus.
In den folgenden Situationen erstellt der Datenbankoptimierungsratgeber möglicherweise keine Empfehlungen:
Die Tabelle, die optimiert werden soll, umfasst weniger als 10 Datenseiten.
Die empfohlenen Indizes würden gegenüber dem aktuellen physischen Datenbankentwurf nicht genügend Verbesserungen bei der Abfrageleistung bieten.
Der Benutzer, der den Datenbankoptimierungsratgeber ausführt, ist kein Mitglied der Datenbankrolle db_owner oder der festen Serverrolle sysadmin. Die Abfragen in der Arbeitsauslastung werden im Sicherheitskontext des Benutzers analysiert, der den Datenbankoptimierungsratgeber ausführt. Der Benutzer muss ein Mitglied der Datenbankrolle db_owner sein.
In den folgenden Situationen erstellt der Datenbankoptimierungsratgeber möglicherweise keine Partitionierungsempfehlungen:
- Die erweiterte gespeicherte Prozedur xp_msver ist nicht aktiviert. Diese erweiterte gespeicherte Prozedur wird verwendet, um die Anzahl der Prozessoren und den freien Arbeitsspeicher auf dem Server abzurufen, auf dem sich die zu optimierende Datenbank befindet. Beachten Sie, dass diese erweiterte gespeicherte Prozedur standardmäßig aktiviert ist, wenn Sie SQL Server installieren. Weitere Informationen finden Sie unter Grundlegendes zur Oberflächenkonfiguration und xp_msver (Transact-SQL).
Hinweis |
---|
Wenn der Datenbankoptimierungsratgeber einen Testserver optimiert, muss die erweiterte gespeicherte Prozedur xp_msver aktiviert sein, damit der Datenbankoptimierungsratgeber während des Optimierungsvorgangs Informationen vom Produktionsserver abrufen kann. Weitere Informationen finden Sie unter Gesichtspunkte bei der Verwendung von Testservern. |
Überlegungen zur Leistung
Der Datenbankmodul-Optimierungsratgeber kann bei der Analyse signifikante Prozessor- und Arbeitsspeicherressourcen belegen. Um zu vermeiden, dass die Leistung des Produktionsservers beeinträchtigt wird, wenden Sie eine der folgenden Strategien an:
Optimieren Sie die Datenbanken, wenn der Server frei ist. Der Datenbankoptimierungsratgeber kann sich auf Wartungstasks auswirken.
Verwenden Sie das Feature für Testserver und Produktionsserver. Weitere Informationen finden Sie unter Reduzieren der Optimierungsauslastung des Produktionsservers.
Geben Sie nur die Strukturen für den physischen Datenbankentwurf an, die der Datenbankoptimierungsratgeber analysieren soll. Der Datenbankoptimierungsratgeber stellt zahlreiche Optionen zur Verfügung, gibt jedoch nur die wirklich erforderlichen an.
Der Datenbankmodul-Optimierungsratgeber speichert Sitzungsinformationen in der msdb-Datenbank
Der Datenbankmodul-Optimierungsratgeber speichert die Optimierungssitzungsdaten und weitere Informationen in der msdb-Datenbank. Wenn an der msdb-Datenbank Änderungen vorgenommen werden, besteht das Risiko, dass Optimierungssitzungsdaten verloren gehen. Um diese Gefahr zu beseitigen, müssen Sie für die msdb-Datenbank eine geeignete Sicherungsstrategie implementieren.