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.
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?
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.
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.
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%Tags und Links sql-server c# linq-to-sql performance sqlprofiler