Tempdb performans en iyi duruma getirme

Fiziksel yerleşimi ve boyutu tempdb veritabanı, sistem performansını etkileyebilir.Örneğin, boyutu ise için tanımlanan tempdb çok küçük, sistem işlem yükü bir parçası kapladığı autogrowing ile tempdb yeniden her saat iş yükünü desteklemek için gereken boyutuna örnek , SQL Server.Bu yükü boyutunu artırarak kaçınmak tempdb veri ve günlük dosyası.Uygun için gereken disk alanı miktarını belirleme hakkında bilgi için tempdb, bkz: Tempdb için kapasite planlama.

tempdb boyutu ve yerleştirme öneriler

En iyi elde etmek için tempdb , performansı öneririz için aşağıdaki yapılandırma tempdb üretim ortamında:

  • Kurtarma modeli, set tempdb Basit.Bu model alan gereksinimlerini küçük tutmak için günlük alanı otomatik olarak biçimiyleilgili.

    Daha fazla bilgi için bkz: ALTER DATABASE (Transact-SQL) veya Nasıl yapılır: Görüntülemek veya bir veritabanı (SQL Server Management Studio'yu) kurtarma modeli değiştirme.

  • İzin tempdb gereken dosyaları otomatik olarak büyümesine.Bu dosya disk dolu olduğu kadar büyümesine izin verir.

    Not

    Üretim ortamında uygulama saat aşımları otomatik büyüme işlemleri sırasında ortaya çıkabilecek olası kabul edilemez, beklenen iş yükü izin veren alanı önceden Ayır.

  • Dosya büyüme artışı önlemek için makul bir boyuta ayarlayın tempdb veritabanı dosyalarından büyüyen göre çok küçük bir değer.Dosya büyümesi çok küçük ise, için yazılan veri miktarını karşılaştırıldığında tempdb, tempdb sürekli olarak genişletmeniz gerekebilir.Bu performansı etkiler.FILEGROWTH artışını ayarlamak için aşağıdaki genel yönergeler öneririz tempdb dosyaları.

    tempdb dosya boyutu

    FILEGROWTH artış

    0-100 mb

    10 MB

    100 ile 200 mb

    20 MB

    200 mb ya da daha fazla

    10%*

    * Size bir g/Ç alt sisteminin hızı üzerine dayalı bu yüzdeye sahip tempdb dosyalarının bulunduğu.Olasılığını önlemek için mandal saat aşımları, öneririz otomatik büyüme işlemi yaklaşık iki dakika sınırlandırma.Örneğin, g/Ç alt sisteminin 50 mb bir noktasında saniyede başlatabilir, FILEGROWTH artış olmalıdır küme en fazla 6 gb olsun tempdb Dosya boyutu.Mümkünse, kullanın anında veritabanı dosyası başlatma otomatik büyüme işlemleri performansını artırmak için.

  • Tüm alanı erişinceye tempdb Bu boyuta yeterince büyük ortamı tipik iş yükünü dengelemek için bir değer ayarlayarak dosyalarıBu engeller tempdb genişletme çok sık gelen hangi etkileyebilir performans.The tempdb database should be set to autogrow, but this should be used to increase disk space for unplanned exceptions.

  • Bant genişliğini en üst düzeye çıkarmak için gerektiği kadar çok sayıda dosya disk oluşturursunuz.Birden çok dosya kullanarak azaltır tempdb Depolama Çekişme ve sayıları önemli ölçüde daha iyi ölçeklenebilirlik.Ancak, bu performansını düşüren ve yönetim yükünü artırmak için çok sayıda dosya oluşturmayın.Genel bir kılavuz, sunucudaki her cpu için bir veri dosyası oluşturma (için hesap benzeşim maskesini ayarları) ve dosya sayısı kapalı yukarı gerektiği gibi ayarlayın.Çift çekirdekli cpu iki CPU kabul edilir olduğunu unutmayın.

  • Her veri aynı boyutta dosya olun; Bunun için en iyi orantılı dolgu performans sağlar.

  • PUT tempdb veritabanı üzerinde bir hızlı g/Ç alt sistemi.Yoksa birçok doğrudan disk kullanımı bölmek diskleri bağlı.

  • PUT tempdb , farklı olanlardan, disklerdeki veritabanı tarafından kullanılırkullanıcı veritabanlarını.

Tempdb boyutu ve büyüme Parametreler değiştirme

Boyutu değiştirmek ve büyüme parametrelerini dosya tempdb aşağıdaki yöntemlerden birini kullanarak verileri veya günlük dosyaları:

Dosya boyutu ve filegrowth parametreler için değerler kullanılan her tempdb oluşturulur.Örneğin boyutunu artırmak, tempdb veri 20 mb dosya ve dosya büyüme artışı yüzde 15'e artırmak, yeni değerler hemen ele etkiler.Sonraki işlem etkinlikler neden, tempdb , yeniden her saat boyutunu büyütmek için veri dosyasının boyutu 20 MB'lık döner örnek , SQL Server.

Tempdb boyutu ve büyüme Parametreler görüntüleme

Boyutu görüntüleyin ve büyüme parametrelerini dosya tempdb aşağıdaki yöntemlerden birini kullanarak verileri veya günlük dosyaları:

  • SQL Server Management Studio

  • Aşağıdaki sorguyu çalıştırıyor.

    SELECT 
        name AS FileName, 
        size*1.0/128 AS FileSizeinMB,
        CASE max_size 
            WHEN 0 THEN 'Autogrowth is off.'
            WHEN -1 THEN 'Autogrowth is on.'
            ELSE 'Log file will grow to a maximum size of 2 TB.'
        END,
        growth AS 'GrowthValue',
        'GrowthIncrement' = 
            CASE
                WHEN growth = 0 THEN 'Size is fixed and will not grow.'
                WHEN growth > 0 AND is_percent_growth = 0 
                    THEN 'Growth value is in 8-KB pages.'
                ELSE 'Growth value is a percentage.'
            END
    FROM tempdb.sys.database_files;
    GO
    

Disk g/Ç yolu hatalarını algılama

Zaman küme PAGE_VERIFY seçeneği için sağlama toplaması oluşturma, disk g/Ç yol hataları neden bozuk veritabanı sayfaları bulur ve bu hataları gibi raporları MSSQLSERVER_823, MSSQLSERVER_824, veya MSSQLSERVER_825, sql hata günlüğü deDisk g/Ç yol hataları nedeni, veritabanı bozulması sorunları olabilir ve genellikle güç kesintileri veya ortaya disk donanım hataları nedeniyle saat sayfasına yazılan diske.G/Ç hataları hakkında daha fazla bilgi için bkz: Microsoft sql Server g/Ç temelleri, bölüm 2.

Önceki sürümlerinde SQL Server, PAGE_VERIFY veritabanı seçenek küme için yok tempdb veritabanı ve değişiklik yapılamaz.De SQL Server 2008, varsayılan değeri tempdb veritabanı yeni yüklemeler için sağlama toplamı olan SQL Server.Yükleme yükseltirken SQL Server, varsayılan değer olarak kalır none.Öneririz, küme PAGE_VERIFY seçeneği için tempdb veritabanı için sağlama toplamı.