Udostępnij za pośrednictwem


Differences Between Database Engine Tuning Advisor and Index Tuning Wizard

In addition to handling the new database features of Microsoft SQL Server, Database Engine Tuning Advisor also behaves differently from the Microsoft SQL Server 2000 Index Tuning Wizard.Chociaż zarówno narzędzi zapewnić graficzny interfejs użytkownika (GUI) i interfejs wiersz polecenia, użytkownicy, którzy są zaznajomieni z Kreatora strojenia indeks powinno mieć następujące zmiany pod uwagę.

Pełna lista nowych funkcji Klasyfikator strojenia aparat bazy danych zobacz Database Engine Tuning Advisor Features.

Uprawnienia wymagane do Nastaw bazy danych

W SQL Server 2000, tylko członkowie sysadmin roli serwera stałe można użyć Kreatora strojenia indeks dostrajania bazy danych.W SQL Server, za pomocą Doradca dostrajania aparatu bazy danych, członkowie sysadmin roli nadal można dostroić baz danych, ale teraz użytkowników, którzy są członkami db_owner ról stałej bazy danych można też dostroić baz danych, w których jest właścicielem.

Uwaga

Przy pierwszym użyciu Doradca dostrajania aparat bazy danych musi być uruchomiona przez użytkownika z uprawnieniami administrator systemu do zainicjowania aplikacji.Po zainicjowaniu zarówno członkowie sysadmin Rola serwera i członkowie db_owner stała rola bazy danych, można użyć Doradca dostrajania aparat bazy danych dostrajania bazy danych.Należy pamiętać, że db_owner członków roli można dostroić tylko baz danych, w których jest właścicielem.Aby uzyskać więcej informacji zobacz Initializing Database Engine Tuning Advisor.

Kontekst obciążenia pracą

Kreator strojenia indeksu ocenić każdą instrukcję w obciążenia przy użyciu bazy danych, który został wybrany do dostosowywania, bez względu na to, czy instrukcja pierwotnie został uruchomiony w kontekście tej bazy danych.Kreator strojenia indeksu można dostroić tylko jednej bazy danych podczas dostosowywania sesja.Doradca dostrajania aparat bazy danych Można dostroić wielu baz danych podczas jednej sesja strojenia.Doradca dostrajania aparat bazy danych w celu określenia bazy danych, gdzie w instrukcja jest uruchomiony i ocenia instrukcja dla tej bazy danych używane są informacje ze skryptu.Bazy danych, które są wybierane w celu dostrojenia nie mają wpływu na sposób, w jaki są oceniane w sprawozdaniu.

Na przykład:

  • The AdventureWorks database has a Person.Contact tabela with the columns FirstName and LastName.

  • Obciążenie pracą TuneQuery.sql zawiera następującą kwerendę:

    SELECT FirstName, LastName
    FROM Person.Contact
    WHERE LastName = 'Abercrombie';
    GO
    
  • Użytkownik 1 łączy MyDB baza danych domyślnie.

W SQL Server 2000, Użytkownik 1 wydane następujących z wiersza polecenia lub wykonywanych podobne kroki przy użyciu GUI Kreatora strojenia indeks:

Itwiz -D AdventureWorks -I TuneQuery.sql –o rec.sql –U <username> –P <password>

Ta metoda rozwiązała problem, w każdej instrukcja w TuneQuery.sql zostanie przeanalizowany przed AdventureWorks bazy danych, ponieważ zostały one określone w wierszu polecenia (-D AventureWorks).TuneQuery.sql jest ważne w AdventureWorks bazy danych i dostosowywanie przystąpiła bez żadnych problemów.

Za pomocą Doradca dostrajania aparat bazy danych, jest składnia wiersza polecenia:

dta -s Session1 –D AdventureWorks –if TuneQuery.sql –of rec.sql –U username –P password

Ponieważ Użytkownik 1 łączy domyślnieMyDB bazy danych, system ustawia kontekstu bazy danych do MyDB.Następny, Transact-SQL Instrukcja jest analizowany przed MyDB bazy danych i nie przed AdventureWorks. Nie jest prawidłowy w deklaracji MyDB i dlatego zostanie zignorowany.

Dlaczego dzieje?Jeśli Użytkownik 1 jest wykonywanyTuneQuery.sql using SQLCMD or SQL Server Management Studio bez określania miejsce docelowe bazy danych TuneQuery.sql mogą być wykonywane przed MyDB , a nie powiodło się.Doradca dostrajania aparatu bazy danych naśladuje to takie samo zachowanie.

Co należy zrobić?Dodawanie USE <database> Instrukcja do skryptu TuneQuery.sql w następujący sposób:

USE AdventureWorks;
GO
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = 'Abercrombie';
GO

Doradca dostrajania aparatu bazy danych najpierw widzi instrukcja USE AdventureWorks i używa tych informacji do bieżącej bazy danych jest ustawiony AdventureWorks. Następny będzie widział instrukcja SELECT FirstName, LastName FROM Person.Contact WHERE LastName = 'Abercrombie', przeanalizowaniu instrukcja przed AdventureWorks, ponieważ jest bieżący kontekst bazy danych AdventureWorks. Dzięki temu Doradca dostrajania aparatu bazy danych pomyślnie dostrajania bazy danych.Należy zauważyć, że jeśli wykonać powyższych za pomocą skryptu SQLCMD or SQL Server Management Studio, w instrukcji jest wykonywana przed AdventureWorks, ponieważ pierwszy USE <database> Instrukcja zmiany kontekstu bazy danych z MyDB to AdventureWorks.

The USE <database> statements can be used to specify the database against which the instrukcja is intended to be executed. Ogólnie rzecz biorąc nie jest to konieczne, jeśli każda instrukcja korzysta z nazwy tabel w pełni kwalifikowana.

Ponieważ Doradca dostrajania aparat bazy danych usiłuje odnaleźć odpowiedniej bazy danych, które każda instrukcja jest uruchamiany (aby imitować środowiska wykonania), następujące informacje ma podstawowe znaczenie dla zrozumienia sposobu Doradca dostrajania aparat bazy danych zajmuje się z różnymi typami danych wejściowych.

Obciążenie pracą plik/wbudowane SQL

Jak wspomniano w poprzedniej sekcji Doradca dostrajania aparat bazy danych używa USE <database> instrukcje, które należy poprzedzić Transact-SQL kwerendy do identyfikowania bazy danych, które powinno być wykonane kwerendy. Doradca dostrajania aparatu bazy danych przegląda dane wejściowe, począwszy od pierwszej instrukcja w Transact-SQL plik skryptu. Rozpocznie się założenie, że bieżąca baza danych jest domyślna baza danych.Obecność USE <database> Instrukcje zmiany bieżącego kontekstu bazy danych, które są w sytuacji, instrukcje.

Pliki śledzenia i tabele śledzenia

Doradca dostrajania aparat bazy danych Naśladuje odtwarzania o SQL Server Profiler Kiedy przechodzi przez plik śledzenia. Następujące informacje korzysta z plików śledzenia w podanej kolejności:

  • Jeśli plik śledzenia zdarzeń o NazwaBazyDanych kolumny, Doradca dostrajania aparat bazy danych, są używane do wyszukiwania w bazie danych, w którym zdarzenie zostało wykonane.

  • Jeśli plik śledzenia DatabaseID kolumny, Doradca dostrajania aparat bazy danych, są używane do wyszukiwania w bazie danych, w którym zdarzenie zostało wykonane.Wykonuje kwerendę dotyczącą katalogu systemu, aby znaleźć odpowiednie nazwy bazy danych do DatabaseID.

Uwaga

Jeśli bazy danych został odłączony, podłączone, usunięte lub utworzone po śledzenia są zbierane, DatabaseID and NazwaBazyDanych mapowania nie mogą pozostawać taki sam, jak podczas tworzenia plik śledzenia.Doradca dostrajania aparat bazy danych nie może określić tę informację.W takim przypadku należy usunąć DatabaseID z całkowitego śledzenia, aby zapobiec Doradca dostrajania aparat bazy danych z dostrajania bazy danych niepoprawne.

  • Jeśli żadna NazwaBazyDanych nor DatabaseID znajdują się w kolumnach w śledzenia, Doradca dostrajania aparat bazy danych decyduje, której bazy danych dla każdej instrukcja, jak działa z Transact-SQL skrypty dla każdego SPID kolumna w plik śledzenia.Jeśli SPID kolumna nie jest obecny, a następnie określenie odbywa się w taki sam sposób jak Transact-SQL pliki skryptów.

Doradca dostrajania aparat bazy danych używa również informacje o logowaniu (tak jak w SQL Server Profiler Odtwórz) podczas analizowania każdej instrukcja. Domyślne bazy danych na serwerze można zmieniać w zależności od LoginName wartości kolumna pojawiają się w plik śledzenia.

Uwaga

Jeśli w systemie, nie jest wyświetlany identyfikator logowania, który znajduje się w przebiegu Doradca dostrajania aparat bazy danych ignoruje i domyślnie używa ten, który jest aktualnie wykonywanego procesu dostosowywania.W takim przypadku jest zapisywany komunikat Doradca dostrajania aparat bazy danych strojenia dziennika.

Dostrajanie limitów czas

Doradca dostrajania aparat bazy danych Umożliwia określenie czasu dostosowywania lub określić nieograniczony czas strojenia.Ta funkcja nie jest dostępna w Kreatorze strojenia indeksu.Aby uzyskać więcej informacji zobacz Limiting Tuning Duration and Events.