Udostępnij za pośrednictwem


Różnice między Doradca dostrajania aparatu bazy danych i indeks Kreatora strojenia

In addition to handling the new database features of SQL Server, Database Engine Tuning Advisor also behaves differently from the Microsoft SQL Server 2000 Index Tuning Wizard.Chociaż oba narzędzia zapewniają graficzny interfejs użytkownika (GUI) oraz interfejs wiersz polecenia, użytkownicy, którzy są zaznajomieni z Kreatora strojenia indeks powinien uwzględniać następujące zmiany.

Pełna lista Doradca dostrajania aparatu bazy danych nowych funkcji, zobacz Doradca dostrajania aparatu bazy danychFunkcje.

Uprawnienia wymagane do dostrojenia bazy danych

W SQL Server 2000, tylko członkowie sysadmin stała rola serwera można użyć Kreatora strojenia indeksu dostrajania bazy danych.W SQL Server, używanie bazy danych aparatu dostrajania klasyfikatora, członkowie sysadmin roli nadal można dostroić baz danych, ale teraz użytkownicy którzy są członkami db_owner stała rola bazy danych również można dostroić baz danych, których jest właścicielem.

Ostrzeżenie

Przy pierwszym użyciu Doradca dostrajania aparatu bazy danych musi być uruchomiona przez użytkownika z uprawnieniami administrator systemu do zainicjowania aplikacji.Po zainicjowaniu zarówno członków sysadmin stała rola serwera i db_owner ustaloną rola bazy danych można użyć aparatu bazy danych dostrajania klasyfikatora, dostrajania bazy danych.Pamiętaj jednak, że db_owner członków roli można dostroić tylko baz danych, których jest właścicielem.Aby uzyskać więcej informacji, zobacz InicjowanieDoradca dostrajania aparatu bazy danych.

Kontekst obciążenia

Kreator strojenia indeksu oceniane każdej instrukcji w obciążeniu przy użyciu bazy danych, która została wybrana do dostrojenia bez względu na to, czy instrukcja pierwotnie został uruchomiony w kontekście tej bazy danych.Kreator strojenia indeksu można dostroić tylko jedną bazę danych podczas dostrajania sesja.Doradca dostrajania aparatu bazy danych Można dostroić wielu baz danych podczas jednej sesja strojenia.Klasyfikator dostrajania aparat bazy danych używa informacji ze skryptu do określenia bazy danych gdzie instrukcja jest uruchamiane i ocenia instrukcja przeciwko tej bazy danych.Bazy danych, które są wybrane do dostrojenia nie wpływa na sposób wyznaczania wartości oświadczeń.

Na przykład:

  • AdventureWorks2008R2 Baza danych zawiera Person.Person tabela z kolumnami FirstName i LastName.

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

    SELECT FirstName, LastName
    FROM Person.Person
    WHERE LastName = 'Abercrombie';
    GO
    
  • User1łączy się z MyDB bazy danych przez domyślny.

W SQL Server 2000, User1 wydawane następujące z wiersza polecenia lub wykonać podobne kroki przy użyciu indeksu GUI Kreatora strojenia:

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

This approach worked, as each statement in TuneQuery.sql was parsed against the AdventureWorks2008R2 database because it was specified on the command line (-D AventureWorks2008R2).TuneQuery.sql was valid in the AdventureWorks2008R2 database and tuning proceeded without any issues.

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

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

Ponieważ User1 łączy domyślnie MyDB bazy danych, system ustawia kontekstu bazy danych do MyDB.Dalej, Transact-SQL instrukcja jest analizowany przeciwko MyDB bazy danych i nie przeciwko AdventureWorks2008R2.Instrukcja nie jest prawidłowa w MyDB i tak jest ignorowana.

Dlaczego to możliwe?Jeśli User1 wykonuje TuneQuery.sql za pomocą polecenie sqlcmd lub SQL Server Management Studio bez określania miejsce docelowe bazy danych TuneQuery.sql wykonywany byłby przeciwko MyDB i błędów.Doradca dostrajania aparatu bazy danychnaśladuje to samo.

Co należy zrobić?Dodaj USE <database> instrukcja do skryptu TuneQuery.sql następująco:

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

Klasyfikator dostrajania aparat bazy danych widzi najpierw instrukcja USE AdventureWorks2008R2 i używa tych informacji do zestaw bieżącej bazy danych do AdventureWorks2008R2.Następnym po stwierdzeniu instrukcja SELECT FirstName, LastName FROM Person.Person WHERE LastName = 'Abercrombie', analizowania instrukcja przeciwko AdventureWorks2008R2, ponieważ bieżący kontekst bazy danych jest AdventureWorks2008R2.Umożliwia to Doradca dostrajania aparatu bazy danych pomyślnie dostrajania bazy danych.Należy zauważyć, że jeśli wykonać powyższych przy użyciu skryptu polecenie sqlcmd lub SQL Server Management Studio, wykonywana jest instrukcja AdventureWorks2008R2, ponieważ pierwszy USE <database> instrukcji zmiany kontekstu bazy danych z MyDB do AdventureWorks2008R2.

USE <database> instrukcja można określić bazę danych, przeciwko której oświadczenie jest przeznaczony do wykonania.Ogólnie rzecz biorąc, nie jest to konieczne, jeśli każda instrukcja wykorzystuje w pełni kwalifikowana tabela nazwy.

Ponieważ Doradca dostrajania aparatu bazy danych próbuje znaleźć odpowiednich bazy danych, przeciwko której każda instrukcja jest uruchomiony (naśladować środowisko wykonawcze), następujące informacje ma podstawowe znaczenie dla zrozumienia jak Doradca dostrajania aparatu bazy danych dotyczy różnych typów danych wejściowych.

Obciążenie pliku i wbudowany SQL

Jak wspomniano w poprzedniej sekcji, Doradca dostrajania aparat bazy danych używa USE <database> instrukcji, które poprzedzają Transact-SQL kwerendy bazy danych, przeciwko której kwerendy należy zidentyfikować wykonać.Doradca dostrajania aparatu bazy danychanalizuje dane wejściowe, począwszy od pierwszej instrukcja w Transact-SQL pliku skryptu.Zaczyna się założenie, że bieżąca baza danych jest domyślna baza danych.Obecność USE <database> instrukcji zmienia bieżący kontekst bazy danych, przeciwko którym instrukcje są analizowane.

Pliki śledzenia i tabele śledzenia

Doradca dostrajania aparatu bazy danychNaśladuje replay z SQL Server Profiler podczas trafia do plik śledzenia.Następujące informacje korzysta z plików śledzenia w podanej kolejności:

  • Jeśli plik śledzenia zdarzeń z DatabaseName kolumna wypełniona, Doradca dostrajania aparatu bazy danych używa, aby znaleźć bazy danych, przeciwko którym zdarzenie zostało wykonane.

  • Jeśli plik śledzenia DatabaseID kolumna wypełniona, Doradca dostrajania aparatu bazy danych używa, aby znaleźć bazy danych, przeciwko którym zdarzenie zostało wykonane.Wykonuje kwerendę wykazu systemu, aby znaleźć odpowiednie nazwy bazy danych, do DatabaseID.

Ostrzeżenie

Jeśli bazy danych został odłączony, dołączony, usunięte lub utworzone po śledzenia są zbierane, DatabaseID i DatabaseName mapowania nie może pozostać taki sam, jak podczas tworzenia plik śledzenia.Doradca dostrajania aparatu bazy danychnie można określić tę informację.Jeśli tak się stanie, należy usunąć DatabaseID z całkowitego śledzenia, aby zapobiec Doradca dostrajania aparatu bazy danych z dostrajania niepoprawne bazy danych.

  • Jeśli żadna DatabaseName ani DatabaseID występują jako kolumna śledzenia, Doradca dostrajania aparatu bazy danych decyduje, której bazy danych dla każdej instrukcja, jak działa z Transact-SQL skryptów dla każdego SPID kolumna plik śledzenia.Jeśli SPID nie ma kolumna, a następnie orzeczenia w taki sam sposób jak dla Transact-SQL plików skryptów.

Klasyfikator dostrajania aparat bazy danych używa również informacje dotyczące logowania (jak w SQL Server Profiler powtarzania) podczas analizowania każdego instrukcja.Baz danych domyślnej na serwerze można zmieniać w zależności od LoginName wartości kolumna, które pojawiają się plik śledzenia.

Ostrzeżenie

Jeśli logowanie, występujące na śledzenie nie będzie już wyświetlany w systemie, Doradca dostrajania aparatu bazy danych , ignoruje i domyślnie używa ten, który jest aktualnie wykonywanego procesu dostosowywania.W takiej sytuacji jest zapisywany komunikat Doradca dostrajania aparatu bazy danych dostrajania dziennika.

Dostrajanie terminów

Doradca dostrajania aparatu bazy danych Umożliwia określenie czasu strojenia lub określić nieograniczony czas strojenia.Ta funkcja nie jest dostępne w Kreatorze strojenia indeksu.Aby uzyskać więcej informacji, zobacz Ograniczenie czasu trwania strojenia i zdarzeń.