Aracılığıyla paylaş


Arasındaki farklar Veritabanı Altyapısı Ayarlama Danışmanı ve dizin Ayarlama Sihirbazı

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.Her iki araç bir grafik kullanıcı arabirimi (GUI) ve komut istemi istemini Arabirim sağlasa da, dizin Ayarlama Sihirbazı ile aşina olan kullanıcılar aşağıdaki değişiklikleri dikkate almanız gerekir.

Veritabanı Altyapısı Ayarlama Danışmanı yeni özelliklerin tam listesi için bkz: Veritabanı Altyapısı Ayarlama Danışmanı özellikleri.

Veritabanları ayarlamak için gerekli izinler

De SQL Server 2000, sadece üyeleri sysadmin sabit sunucu rolü istifade dizin Ayarlama Sihirbazı'nı ayarlamak veritabanları.De SQL Server, üyeleri olan Veritabanı Altyapısı Ayarlama Danışmanı'ı kullanarak sysadmin Rol hala ama şimdi kullanıcı veritabanları ayarlama üyeleri kim db_owner sabit veritabanı rolü de sahip oldukları veritabanları ayarlama.

Not

İlk kullanımda, Veritabanı Altyapısı Ayarlama Danışmanı, uygulamayı başlatmak için sistem yönetici izinlerine sahip bir kullanıcı tarafından başlatılmalıdır.Başlatma, hem üyeleri, sonra sysadmin sabit sunucu rolü ve üyeleri db_owner sabit veritabanı rolü kullanarak Veritabanı Altyapısı Ayarlama Danışmanı ayarlamak veritabanları.Unutmayın ancak, db_owner Rol üyeleri yalnızca sahip oldukları veritabanları ayarlama.Daha fazla bilgi için bkz: BaşlatılıyorVeritabanı Altyapısı Ayarlama Danışmanı.

İş yükünü içerik

Dizin Ayarlama Sihirbazı'nı kullanarak mı deyim ilk olarak, o veritabanı bağlamında yürütülmüştü bakmaksızın ayarlamak için seçili veritabanı iş her deyimi değerlendirilir.Dizin Ayarlama Sihirbazı'nı ayarlama oturum sırasında yalnızca bir veritabanı ayarlamak.Veritabanı Altyapısı Ayarlama Danışmanı, bir ayarlama oturum sırasında birden çok veritabanı dinleyebilirsiniz.Veritabanı Altyapısı Ayarlama Danışmanı, burada deyim çalıştırılır ve bu veritabanı deyim değerlendirir veritabanı belirlemek için komut dosyasındaki bilgileri kullanır.Ayarlamak için seçili veritabanları ifadeleri nasıl değerlendirilir etkilemez.

Örneğin:

  • The AdventureWorks2008R2 database has a Person.Person table with the columns FirstName and LastName.

  • İş yükü TuneQuery.sql aşağıdaki sorgu içerir:

    SELECT FirstName, LastName
    FROM Person.Person
    WHERE LastName = 'Abercrombie';
    GO
    
  • User1bağlar MyDB veritabanı tarafından varsayılan.

De SQL Server 2000, User1 aşağıdaki dizin Ayarlama Sihirbazı GUI kullanarak komut satırı veya gerçekleştirilen benzer adımlardan verilen:

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.

Veritabanı Altyapısı Ayarlama Danışmanı'ı kullanarak, komut satırı sözdizimi şöyledir:

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

Çünkü User1 Varsayılan olarak bağlayan MyDB veritabanı, sistem veritabanı bağlamı ayarlar MyDB.İleri, Transact-SQL deyim karşı çözümlendiğinde MyDB veritabanı ve değil karşı AdventureWorks2008R2.Deyim geçerli değil MyDB ve böylece göz ardı edilir.

Bunun nedeni?If User1 executes the TuneQuery.sql using sqlcmd or SQL Server Management Studio without specifying a target database, TuneQuery.sql would be executed against MyDB and fail.Veritabanı Altyapısı Ayarlama Danışmanı, bu aynı davranışı taklit eder.

Ne yapılmalıdır?Ekleme bir USE <database> komut dosyası deyim TuneQuery.sql gibi:

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

Veritabanı Altyapısı küme Danışmanı gördüğü ilk deyim USE AdventureWorks2008R2 olması için geçerli veritabanı ayarlamak için bu bilgileri kullanır ve AdventureWorks2008R2.Sonraki ne zaman onu görür deyim SELECT FirstName, LastName FROM Person.Person WHERE LastName = 'Abercrombie'karşı deyim ayrıştırma, AdventureWorks2008R2, çünkü var olan veritabanı içeriği AdventureWorks2008R2.Böylece Veritabanı Altyapısı Ayarlama Danışmanı veritabanını başarılı bir şekilde ayarlamak için.İse, yürütmek yukarıdaki komut dosyasını kullanarak sqlcmd veya SQL Server Management Studio, deyim yürütmekkarşı d AdventureWorks2008R2, çünkü ilk USE <database> Veritabanı bağlamında deyim değiştirir MyDB için AdventureWorks2008R2.

The USE <database> statements can be used to specify the database against which the statement is intended to be executed.Genel olarak, bu tam nitelikli bir tablo adları her deyim kullanıyorsa, gerekli değildir.

Veritabanı Altyapısı Ayarlama Danışmanı karşı her deyim (Yürütme Ortamı taklit etmek için) çalıştığı karşılık gelen veritabanını bulmak çalışacağından, aşağıdaki bilgileri nasıl Veritabanı Altyapısı Ayarlama Danışmanı değişik giriş ile ilgilenir anlamak için önemlidir.

sql dosyası/satır içi iş yükünü

Önceki bölümde de belirtildiği gibi Veritabanı Altyapısı Ayarlama Danışmanı kullanır USE <database> önce ifadeleri bir Transact-SQL karşısında sorguyu yürütmek için veritabanı tanımlamak için sorgu.Veritabanı Altyapısı Ayarlama Danışmanı görünüyor ilk deyim, başlayarak giriş kısmında Transact-SQL komut dosyası.Geçerli veritabanının varsayılan veritabanı olduğu varsayımı ile başlar.Varlığını USE <database> ifadeleri ifadeleri karşısında ayrýþtýrýlmýþ geçerli veritabanı içeriğini değiştirir.

İzleme dosyaları ve izleme tabloları

Veritabanı Altyapısı Ayarlama Danışmanı'ın replay taklit eden SQL Server Profiler zaman gider üzerinden izleme dosyası.İzleme dosyalarının listelendikleri sırada aşağıdaki bilgileri kullanır:

  • Olayları izleme dosyası varsa, DatabaseName doldurulan sütun, Veritabanı Altyapısı Ayarlama Danışmanı, bu olay karşısında yürütüldü veritabanı bulmak için kullanır.

  • izleme dosyası varsa, DatabaseID doldurulan sütun, Veritabanı Altyapısı Ayarlama Danışmanı, bu olay karşısında yürütüldü veritabanı bulmak için kullanır.Veritabanı adı için ilgili bulmak için Sistem kataloğu sorgular DatabaseID.

Not

Bir veritabanı ilişkisi kesildi, ekliyse, bırakılan veya bir izleme toplandıktan sonra oluşturulan, DatabaseID ve DatabaseName eşlemeleri değil kalabilir aynı ne zaman izleme dosyası oluşturuldu.Veritabanı Altyapısı Ayarlama Danışmanı, bu bilgileri belirlenemiyor.Bu durumda, kaldırmanız gerekir DatabaseID yanlış bir database Tuning Advisor dan Veritabanı Altyapısı Ayarlama Danışmanı önlemek için izleme tümünü dan.

  • İkisi de, DatabaseName ne de DatabaseID yok ile her deyim olarak kullanmak için hangi veritabanını mu Veritabanı Altyapısı Ayarlama Danışmanı izleme sütun olarak karar verir Transact-SQL komut dosyaları her SPID izleme dosyası sütununda.If the SPID column is not present, then the determination is made in exactly the same way as it is for Transact-SQL script files.

Veritabanı Altyapısı Ayarlama Danışmanı, ayrıca oturum açma bilgilerini kullanır (gibi SQL Server Profiler tekrarlama) her deyim. Ayrıştırma sırasındaVarsayılan veritabanı sunucu türüne göre değiştirebilirsiniz LoginName izleme dosyası görünür sütun değerlerini.

Not

İzlemeye, var olan oturum açma artık sistemde varsa, Veritabanı Altyapısı Ayarlama Danışmanı, yok sayar ve varsayılan olarak ayarlama işlemini gerçekleştirmekte olanı kullanır.Bu durumda, ileti Veritabanı Altyapısı Ayarlama Danışmanı ayarlama günlüğüne kaydedilir.

Zaman sınırları ayarlama

Veritabanı Altyapısı Ayarlama Danışmanı, bir ayarlama belirtmenize olanak verir saat, ya da sınırsız ayar belirlemek için saat.Bu özellik, dizin Ayarlama Sihirbazı'nda kullanılabilir değildi.Daha fazla bilgi için bkz: Ayar süresi ve olayları sınırlama.