Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

SQL Server istatistikleri yalnızca bir veritabanı oluşturmak için gereken veritabanı meta verileri, bir komut dosyası oluşturmak nasıl

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 914288
Giriş
Microsoft SQL Server query optimizer en uygun sorgu planlamasını belirlemek için aşağıdaki bilgi türlerini kullanır:
  • Veritabanı meta verileri
  • Donanım ortamı
  • Veritabanı oturum durumu
Genellikle, Sorgu iyileştirici bir sınama sisteminde davranışı yeniden oluşturmak istiyorsanız, tüm bu aynı tür bilgi benzetim yapması gerekir.

Microsoft Müşteri Destek Hizmetleri veritabanı meta verileri, bir komut dosyası oluşturmak isteyebilir. Microsoft Müşteri Destek Hizmetleri'ne iyileştirici sorunu araştırmak için bu komut dosyası, veritabanı meta verileri kullanır. Bu makale istatistikleri komut dosyası oluşturmak için gereken adımları açıklar. Makalede ayrıca query optimizer bilgileri nasıl kullandığını açıklar.
Daha fazla bilgi
Komut dosyası oluşturmak için gereken adımları izlemeden önce SQL Server 2005 kullanıyorsanız, SQL Server Management Studio'yu SQL Server 2005 Service Pack 2 veya sonraki sürümünü olduğundan emin olun. SQL Server 2005'te SQL Server Management Studio önceki sürümlerini kullanıyorsanız, düzgün çalışması için tüm gerekli seçenekler için bu makaledeki adımları komut dosyası Sihirbazı'nı içermez.

Tüm veritabanını komut dosyası

Yalnızca istatistik klonlama veritabanı oluşturduğunuzda, daha kolay ve daha güvenilir tek tek nesneleri komut dosyası yerine tüm veritabanını komut dosyası olabilir. Tüm veritabanını komut dosyası aşağıdaki yararları alırsınız:
  • Bu sorunu yeniden oluşturmak için gerekli bağımlı nesneler eksik olan sorunları kaçının.
  • Gerekli nesneleri seçmek için önemli ölçüde daha az adım gerektirir.
Not Bir veritabanı için bir komut dosyası oluşturmak ve nesneleri binlerce veritabanı için meta veriler içeriyorsa, komut dosyası oluşturma işlemini önemli CPU kaynaklarını tüketir. Yoğun olmayan saatlerde komut dosyasını üret öneririz. Ya da ikinci seçenek, tek tek nesneler için komut dosyası oluşturmak için kullanabilirsiniz.

Komut dosyası, sorgu tarafından başvurulan her veritabanı için aşağıdaki adımları izleyin:
  1. SQL Server Management Studio'yu açın.
  2. Object Explorerveritabanları' nı genişletin ve sonra komut dosyası oluşturmak istediğiniz veritabanını bulun.
  3. Bir veritabanını sağ tıklatın, Görevler' e gidin ve Generate Scripts'itıklayın.
  4. Komut dosyası Sihirbazı'nda, doğru veritabanını seçili olduğundan emin olun. Seçili veritabanındaki tüm komut dosyası nesneler onay kutusunu tıklatıp seçin ve sonra İleri' yi tıklatın.
  5. Komut dosyası seçenekleri seçin iletişim kutusunda aşağıdaki ayarları varsayılan değeri aşağıdaki tabloda listelenen değere değiştirin.
    Komut dosyası seçeneğiDeğeri seçmek için
    ANSI doldurmaDoğru
    Komut dosyası hatası devamDoğru
    Bağımlı nesneler için komut dosyası oluşturmaDoğru
    Sistem kısıtlama adlarını EkleDoğru
    Komut dosyası harmanlamaDoğru
    Komut dosyası veritabanı oluşturmaDoğru
    Oturum açma komut dosyasıDoğru
    Komut dosyası nesne düzeyi izinleriDoğru
    Komut dosyası istatistikleriKomut dosyası istatistikleri ve çubuk grafikler
    Komut dosyası dizinleriDoğru
    Komut dosyası TetikleyicileriDoğru
    Not Şemayı dbodışındaki oturumları sahip olduğu nesneler içermiyorsa Oturum açma komut dosyası ve Komut dosyası nesne düzeyi izinleri seçeneklerini gerekli olmayabilir.
  6. İleri' yi tıklatın.
  7. Komut dosyasını bir dosyaya seçeneğini tıklatın ve bir dosya adı girin.
  8. Son' u tıklatın.

Tek tek nesneleri komut dosyası

Tam veritabanı komut dosyası yerine belirli bir sorgu tarafından başvurulan yalnızca komut dosyası tek tek nesneler olabilir. Tüm veritabanı nesneleri ile ema BALAMA yan tümcesi kullanılarak oluşturulan sürece, ancak, bağımlılık bilgilerini sys.depends sistem tablosundaki her zaman doğru olmayabilir. Bu oluşma aşağıdaki sorunlardan biriyle karşılaşabilirsiniz:
  • Komut dosyası oluşturma işlemini bağımlı nesne komut dosyası değil.
  • Komut dosyası oluşturma işlemi yanlış sırada nesneleri komut dosyası. Komut dosyasının başarıyla çalışabilmesi için el ile oluşturulan komut dosyasını düzenlemeniz gerekir.
Bu nedenle, tek tek nesneleri, nesnelerin çok sayıda veritabanı vardır ve komut dosyası yoksa çok uzun sürecektir sürece komut dosyası önerilmez. Tek tek nesneleri komut dosyası kullanmanız gerekiyorsa, aşağıdaki adımları izleyin:
  1. SQL Server Management Studio'da veritabanları' nı genişletin ve sonra komut dosyası oluşturmak istediğiniz veritabanını bulun.
  2. Bir veritabanını sağ tıklatın, Komut dosyası veritabanı olarak, oluşturma içingidin ve Dosya' yı tıklatın.
  3. Bir dosya adı girin ve Kaydet' i tıklatın.

    Çekirdek veritabanı container Script. Bu kapsayıcı, dosyaları, dosya gruplarını veritabanı ve özellikleri içerir.
  4. Bir veritabanını sağ tıklatın, Görevler' e gidin ve Generate Scripts'itıklayın.
  5. Doğru veritabanına seçili olduğundan emin olun ve İleri' yi tıklatın.
  6. Komut dosyası seçenekleri seçin iletişim kutusunda aşağıdaki ayarları varsayılan değeri aşağıdaki tabloda listelenen değere değiştirin.
    Komut dosyası seçeneğiDeğeri seçmek için
    ANSI doldurmaDoğru
    Komut dosyası hatası devamDoğru
    Sistem kısıtlama adlarını EkleDoğru
    Bağımlı nesneler için komut dosyası oluşturmaDoğru
    Komut dosyası harmanlamaDoğru
    Oturum açma komut dosyasıDoğru
    Komut dosyası nesne düzeyi izinleriDoğru
    Komut dosyası istatistikleriKomut dosyası istatistikleri ve çubuk grafikler
    Komut dosyası kullanımı veritabanıDoğru
    Komut dosyası dizinleriDoğru
    Komut dosyası TetikleyicileriDoğru
    Not Şemayı dbodışındaki oturumları sahip olduğu nesneler içermiyorsa Oturum açma komut dosyası ve Komut dosyası nesne düzeyi izinleri seçeneklerini gerekli olmayabilir.
  7. Nesne türleri Seç iletişim kutusunda, sorunlu sorgunun başvurduğu tüm veritabanı nesne türlerini seçin.

    Örneğin, sorgu yalnızca tablolara başvuran seçin <b00> </b00>tablo. Sorgunun başvurduğu bir görünümü, Görünüm ve tablolarseçin. Sorunlu sorgu bir kullanıcı tanımlı işlevi kullanıyorsa, İşlevler' i seçin.
  8. Sorgu tarafından başvurulan tüm nesne türleri seçtikten sonra İleri' yi tıklatın.
  9. 7. adımda seçtiğiniz her veritabanı nesne türü için bir iletişim kutusu görüntülenir. Her iletişim kutusunda belirli tablolar, görünümler, İşlevler veya diğer veritabanı nesneleri seçin ve İleri' yi tıklatın.
  10. Komut dosyasını bir dosyaya seçeneğini tıklatın ve sonra adım 3'te girdiğiniz dosya adını belirtin.
  11. Komut dosyası başlatmak için Son düğmesini tıklatın.
Komut dosyası tamamlandığında, komut dosyasını Microsoft destek mühendisine gönderin. Microsoft destek mühendisine ayrıca aşağıdaki bilgiler isteyebilir:
  • İşlemci sayısı ve fiziksel bellek miktarını var da dahil olmak üzere donanım yapılandırması
  • Sorguyu çalıştırdığınızda, etkin seçeneklerini ayarlama
Not Zaten bu bilgi SQLDiag rapor ya da SQL Profiler izlemesi göndererek sağladığınız. Ayrıca başka bir yöntem bu bilgileri sağlamak için kullanmış.

Bilgiler nasıl kullanılır

Aşağıdaki tablolarda, nasıl Sorgu iyileştirici sorgu planı seçmek için bu bilgileri kullanır açıklanmasına yardımcı olur.

Meta verileri

KısıtlamalarıSorgu iyileştirici kısıtlamaları sorguyu temel şema arasındaki contradictions algılamak için sık sık kullanır. Sorgu varsa, örneğin, bir "WHERE col = 5" yan tümcesi ve bir "CHECK (Süt< 5)"="" check="" constraint="" exists,="" the="" query="" optimizer="" knows="" that="" no="" rows="" will="">

Sorgu iyileştirici benzer türdeki null verilebilirliğini hakkında kesintiler yapar. Örneğin, "NULL Süt olduğu" yan tümcesi true veya false sütun null verilebilirlik değerlerine bağlı olarak ve bir dış birleşim dış tablodan sütun olup olmadığı biliniyor. YABANCI anahtar kısıtlamalarını varlığını önemlilik ve uygun birleştirme sırasını belirlemek yararlıdır. Sorgu iyileştirici birleşimler ortadan kaldırmak veya yüklemler basitleştirmek için kısıtlama bilgileri kullanabilirsiniz. Bu değişiklikler temel tabloları erişmek için gereksinimin kaldırabilirsiniz.
İstatistikleriYoğunluk ve önde gelen dizin ve İstatistikler anahtar sütun dağılımını gösteren bir çubuk grafik istatistik bilgilerini içerir. Karşılaştırma doğasına bağlı olarak, Sorgu iyileştirici yoğunluğu, çubuk grafik veya her ikisi de, bir koşulun önem düzeyi tahmin etmek için kullanabilir. Güncel istatistikleri doğru önem düzeyi tahminleri için gereklidir. Önem düzeyi tahminleri, bir işletmenin maliyet tahmini içinde bir giriş olarak kullanılır. Bu nedenle, en iyi sorgu planları almak için iyi bir önem düzeyi tahminleri olması gerekir.
Tablo boyutu (satır ve sayfa sayısı)Sorgu iyileştirici çubuk grafikler ve yoğunluğu belirli bir koşulun doğru veya yanlış olduğunu olasılığını hesaplamak için kullanır. Son önem düzeyi tahmini olasılık alt operatörü tarafından döndürülen satırların sayısını çarparak hesaplanır.G/ç maliyet tahmini bir etken tablo ya da dizin sayfa sayısıdır. Tablo boyutunu tarama maliyetini hesaplamak için kullanılır ve bir dizin arama sırasında erişilen sayfa sayısını tahmin ederken yararlıdır.
Veritabanı seçenekleriBirden fazla veritabanı seçenekleri, en iyi duruma getirme etkileyebilir. Sorgu iyileştirici yeni istatistikleri veya eski güncelleştirme istatistikleri oluşturur olup olmadığını AUTO_CREATE_STATISTICS ve None seçenekleri etkiler. Giriş sorgu için Sorgu iyileştirici teslim önce nasıl giriş sorgu parametrelenmiştir PARAMETRELEME düzeyini etkiler. Parametreleme önem düzeyi tahmini etkileyebilir ve eşleşen dizin oluşturulmuş görünümler ve diğer türde iyileştirmelerini karşı engel olabilir. DATE_CORRELATION_OPTIMIZATION ayar sütunlar arasındaki bağıntıları aramak en iyi duruma getiricisi neden olur. Bu ayar, önemlilik ve maliyet tahmini etkiler.

Ortam

Oturum seçeneklerini ayarlamaEtkiler mi ayarlama ANSI_NULLS "NULL NULL =" ifade doğru olarak değerlendirilir. Dış birleştirmeler için önem düzeyi tahmini geçerli ayarına bağlı olarak değişebilir. Ayrıca, belirsiz ifadeler de değişebilir. Örneğin, "Süt = NULL" ifade ayarı göre farklı şekilde değerlendirilir. Ancak, "Süt IS NULL" ifade her zaman aynı şekilde değerlendirilir.
Donanım kaynaklarıSQL Server için kullanılabilir bellek miktarını göreli sıralama ve karma işleçleri için maliyet bağlıdır. Veri boyutu önbelleği büyük ise, örneğin, query optimizer verileri her zaman biriktirilmesine olduğunu bilir diske. Veri boyutu önbellek çok küçükse, ancak işlem bellekte yapılmış olması olasıdır. SQL Server sunucuda birden fazla işlemci varsa ve paralellik "MAXDOP" İpucu veya Maksimum paralellik derecesi yapılandırma seçeneğini kullanarak devre dışı bırakılmış değil farklı iyileştirmeleri de dikkate alır.
Clone db

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 914288 - Son İnceleme: 01/27/2015 21:06:00 - Düzeltme: 1.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems

  • kbexpertiseinter kbexpertiseadvanced kbsql2005engine kbhowto kbinfo kbmt KB914288 KbMttr
Geri bildirim