SQL Server: Event referenziert keine Tabellen (Tuning Advisor-Warnung)

8

Ich habe eine Anwendung in C # geschrieben, die Linq2SQL für die Kommunikation mit dem SQL Server verwendet. Es gibt einige Abfragen, die ein bisschen (sehr) langsam laufen, und ich denke, dass es wahrscheinlich einige Indizes braucht, um die Dinge zu beschleunigen.

Aber ich weiß nicht wirklich, wie ich das machen soll oder auf was oder wo oder was ich tun soll oder was nicht. Also dachte ich, ich könnte hier fragen, aber dann entdeckte ich das Programm Database Engine Tuning Advisor , von dem ich dachte, ich könnte es zuerst ausprobieren. Das Problem ist, dass ich es nicht zur Arbeit bringen kann. Ich weiß es wahrscheinlich nicht, aber ich kann das nicht wirklich herausfinden. Soweit ich sehen kann, habe ich getan, was ich nach den Hilfedateien sollte.

  1. Öffnen Sie SQL Server Profiler .
  2. Starten Sie einen neuen Trace mit der Vorlage Tuning .
  3. Starten Sie meine Anwendung und führen Sie einige Dinge aus, die SQL-Abfragen generieren.
  4. Schließen Sie meine Bewerbung.
  5. Stoppen Sie die Ablaufverfolgung.
  6. Speichern Sie die Ablaufverfolgung als Ablaufverfolgungsdatei .
  7. Öffnen Sie Datenbankoptimierungsratgeber
  8. Wählen Sie Datei als Workload und wählen Sie die Trace-Datei aus, die ich zuvor gespeichert habe.
  9. Wählen Sie die Datenbanken aus, die meine Anwendung unter Auswählen von Datenbanken und Tabellen zum Optimieren verwendet.
  10. Klicken Sie auf Analyse starten .

Bisher dachte ich, die Dinge liefen gut. Aber wenn es nach einer Weile kurz vorbei ist, bekomme ich das:

Fortschritt http://i39.tinypic.com/1235avd.jpg

Und eine komplett empy Empfehlungen Seite. Event referenziert keine Tabellen? Was bedeutet das (abgesehen von dem offensichtlichen natürlich: p)? Habe ich etwas über den Prozess hier falsch verstanden? Was ist los?

    
Svish 14.05.2009, 11:36
quelle

3 Antworten

7

Ich denke, der Grund, warum Sie keine Empfehlungen erhalten, ist, dass Sie keine SHOWPLAN-Berechtigungen für Ihre Datenbank haben. Gewähren Sie dem Benutzer, auf dem Sie den Analyzer ausführen, den Zugriff, und versuchen Sie es erneut.

Ich sehe auch einige Fehler "ungültiger Objektname" - stellen Sie sicher, dass der Benutzer, auf dem Sie den Analyzer ausführen, über die entsprechenden Berechtigungen für alle beteiligten Tabellen verfügt.

    
Jonathan Rupp 14.05.2009, 12:17
quelle
7

Es gibt eine andere Sache, die Sie überprüfen können, wenn Sie diesen Fehler erhalten. Wenn Sie so dumm sind wie ich, haben Sie möglicherweise vergessen, die entsprechende Datenbank in der Dropdown-Liste "Datenbank für Workload-Analyse" auf der Registerkarte "Allgemein" auszuwählen.

    
Phil Hale 15.11.2010 16:56
quelle
3

Ich habe den Analyzer als mich selbst (dbo) ausgeführt, aber meine Ablaufverfolgung selbst enthielt Abfragen von einem IIS-App-Pool-Benutzer, der keinen SHOWPATH-Zugriff hatte.

Also habe ich SHOWPATH den Zugriff auf diesen IIS-App-Pool-Benutzer gewährt und dann hat es funktioniert.

%Vor%     
Matt Frear 03.02.2011 17:34
quelle