2009-11-20 3 views
8

Ich habe versucht, die Leistung zu erhöhen und Deadlocks in einer SQL Server 2005-Instanz zu diagnostizieren. Es hatte SQL Server 2000 bis vor einem Monat ausgeführt, als ein In-situ-Upgrade durchgeführt wurde. Nach dem Upgrade gab es eine Reihe von Problemen: Die Leistung ist niedrig und Deadlocks sind weit oben. MS schlug vor, den Datenbankoptimierungsratgeber 2005 (DTA/DETA) zu verwenden.Ändert der Database Tuning Advisor von SQL Server Daten?

Ich bin bin generell skeptisch von automatisierten Tools wie diese, aber Meldung DTA warf beim Start up ist, was erschreckt mich wirklich:

„Im Bereich Workload, wählen Sie eine Datenbank, auf die Database Engine Tuning Advisor wird Verbindung für die Analyse der Arbeitslast.Wenn Ihre Arbeitslast Ereignisse oder Transact-SQL-Anweisungen , die die Datenbank ändern, Database Engine Optimierungsratgeber wird auch die Datenbank während der Analyse der Arbeitslast.Abschließend wählen Sie eine oder mehrere Datenbanken oder spezifische Tische zum Stimmen. "

Das bedeutet, zumindest für mich, dass alle Anweisungen bei der Analyse der Arbeitslast erneut ausgeführt werden. Ist das der Fall? Wenn ja, Rollbacks von Anweisungen und Transaktionen, oder einfach nur alles in einer Trace-Datei wörtlich durchkauen?

Eine Nebenfrage: Welchen Unterschied macht die "Database for Workload Analysis"? Es ist standardmäßig Master. Ist es sinnvoller, den Master zu belassen oder ihn in den Namen der Datenbank zu ändern, die ich einstellen möchte?

Vielen Dank im Voraus!
          Aaron

Antwort

8

Ich habe es mehrmals auf unternehmenskritische Datenbank mit Millionen von Datensätzen verwendet, während es gab Benutzer Daten in der Datenbank ändern und es funktioniert perfekt für mich. Es hat nie Daten verändert oder beschädigt. Das einzige, was es getan hat, ist, die Dinge zu verlangsamen, während es die Indexänderungen anwendete.

Ich weiß sicher, dass es die Anweisungen nicht erneut ausführt, da ich einige Prozesse habe, die die Daten ändern. Ich habe diese beim Profiler absichtlich ausgeführt und dann den Tuning-Assistenten verwendet, und ich hätte gewusst, ob diese bestimmten Anweisungen erneut ausgeführt würden. Die Arbeit ist sehr offensichtlich und hätte zu offensichtlichen Diskrepanzen geführt.

All dies gesagt, es ist eine gute Idee, eine Sicherungskopie Ihrer DB nur für den Fall zu haben.

+1

Vielen Dank, David! Die Warnung hat mich wirklich erschreckt. Wir haben nächtliche Backups und stündliche T-Logs. Seitdem habe ich die DTA geleitet und einige ihrer Vorschläge angenommen - mit großer Wirkung! Danke für Ihre rechtzeitige Antwort. – Aaron