tempdb veritabanı
Tempdb sistem veritabanı örneğine bağlı tüm kullanıcıları tarafından kullanılabilir bir genel kaynağı olan SQL Serverve aşağıdaki tutmak için kullanılır:
Açıkça, gibi oluşturulan geçici kullanıcı nesneler: global veya yerel geçici tablolar, geçici saklı yordamlar, tablo değişkenlerini veya imleçler.
İç nesneleri tarafından oluşturulan SQL Server Veritabanı Altyapısı, örneğin, iş tabloları biriktiricileri veya sıralama için ara sonuçları depolamak için.
Okuma kaydedilmiş kullanarak kullanan bir veritabanı içinde veri değişikliği hareketleri tarafından oluşturulan satır sürümleri, sürüm oluşturma yalıtım veya anlık görüntü yalıtım hareketleri satır.
Satır özellikleri için veri değişikliği hareketleri tarafından oluşturulan gibi sürümleri: çevrimiçi dizin işlemleri, çoklu Active sonuç kümeleri (mars) ve sonra tetikler.
Operasyonlar içinde tempdb minimal kaydedilir. Bu hareketleri geri alınmasını sağlar. tempdb her zaman yeniden SQL Serversistemle her zaman veritabanı temiz bir kopyasıyla birlikte böylece başladı. Geçici tablolar ve saklı yordamlar bırakılır otomatik olarak kesmek, ve sistem kapatıldığında hiçbir bağlantısı etkindir. Bu nedenle, orada hiç bir şey tempdb bir oturumundan kaydedilmesini SQL Serverdiğerine. Yedekleme ve geri yükleme işlemleri üzerinde izin verilmez tempdb.
Tempdb fiziksel özellikleri
İlk yapılandırma değerleri aşağıdaki tabloda tempdb veri ve günlük dosyaları. Bu dosyaların boyutlarını biraz farklı sürümleri için farklı olabilir SQL Server.
Dosya |
Mantıksal adı |
Fiziksel adı |
Dosya büyümesi |
---|---|---|---|
Birincil veri |
tempdev |
tempdb.mdf |
Disk dolu olduğu kadar yüzde 10 otomatik büyüme |
Günlük |
templog |
templog.ldf |
En çok 2 terabayt 10 oranında otomatik büyüme |
Boyutunu tempdb bir sistem performansını etkileyebilir. Örneğin, eğer tempdb boyut çok küçük, sistem işlemi-ebil var olmak çok autogrowing ile iş yükünü ihtiyaçlarınız başlattığınız her zaman destek için veritabanı işgal SQL Server. Sen-ebilmek kaçmak bu yükü boyutunu artırarak tempdb. Daha fazla bilgi için Optimizing tempdb Performanceve Capacity Planning for tempdb.
Tempdb performans iyileştirmeleri
De SQL Server, tempdb performansı aşağıdaki yollarla geliştirildi:
Geçici tablolar ve Tablo değişkenleri önbelleğe alınabilir. Önbelleğe alma, açılan ve çok hızlı bir şekilde yürütmek için geçici nesneler oluştur ve sayfa ayırma çakışması azaltır işlemlerini sağlar.
Protokol kilitlenen ayırma sayfası artırıldı. Bu kadar kullanılır (güncelleştirme) tutma sayısını azaltır.
Oturum yükünü tempdb azalır. Bunun üzerine disk g/Ç bant genişliği kullanımını azaltır tempdb günlük dosyası.
Karma sayfalarında tahsis etmek için kullanılan algoritma tempdb artırıldı.
Tempdb veri ve günlük dosyaları taşıma
Taşımak için tempdb bkz: veri ve günlük dosyaları, Sistem veritabanlarını taşıma.
Veritabanı seçenekleri
Her veritabanı seçeneği için varsayılan değer aşağıdaki tabloda tempdb veritabanı ve ister seçeneği değiştirilebilir. Bu seçenekler geçerli ayarlarını görüntülemek için sys.databases Katalog görünümü.
Veritabanı seçeneği |
Varsayılan değer |
Değiştirilebilir |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
OFF |
Evet |
ANSI_NULL_DEFAULT |
OFF |
Evet |
ANSI_NULLS |
OFF |
Evet |
ANSI_PADDING |
OFF |
Evet |
ANSI_WARNINGS |
OFF |
Evet |
ARITHABORT |
OFF |
Evet |
AUTO_CLOSE |
OFF |
Hayır |
AUTO_CREATE_STATISTICS |
ON |
Evet |
AUTO_SHRINK |
OFF |
Hayır |
AUTO_UPDATE_STATISTICS |
ON |
Evet |
AUTO_UPDATE_STATISTICS_ASYNC |
OFF |
Evet |
CHANGE_TRACKING |
OFF |
Hayır |
CONCAT_NULL_YIELDS_NULL |
OFF |
Evet |
CURSOR_CLOSE_ON_COMMIT |
OFF |
Evet |
NONE |
KÜRESEL |
Evet |
Veritabanı kullanılabilirlik seçenekleri |
ONLINE MULTI_USER READ_WRITE |
Hayır Hayır Hayır |
DATE_CORRELATION_OPTIMIZATION |
OFF |
Evet |
DB_CHAINING |
ON |
Hayır |
ENCRYPTION |
OFF |
Hayır |
NUMERIC_ROUNDABORT |
OFF |
Evet |
PAGE_VERIFY |
Yeni yüklemeleri için sağlama toplamı SQL Server. Yükseltmeleri için yok SQL Server. |
Evet |
PARAMETERIZATION |
BASİT |
Evet |
QUOTED_IDENTIFIER |
OFF |
Evet |
READ_COMMITTED_SNAPSHOT |
OFF |
Hayır |
KURTARMA |
BASİT |
Hayır |
RECURSIVE_TRIGGERS |
OFF |
Evet |
Service Broker seçenekleri |
ENABLE_BROKER |
Evet |
GÜVENİLİR |
OFF |
Hayır |
Bu veritabanı seçenekleri açıklaması için bkz: alter database set seçenekleri (Transact-sql).
Kısıtlamalar
Aşağıdaki işlemleri gerçekleştirilemez tempdb veritabanı:
Filegroups ekleme.
Yedekleme veya veritabanı geri yükleme.
Harmanlamayı değiştirme. Varsayılan harmanlama Sunucu harmanlaması ' dir.
Veritabanı sahibi değiştirme. tempdb ait olduğunu dbo.
Veritabanı snapshot oluşturma.
Veritabanını bırakma.
Bırakarak Konuk kullanıcı veritabanından.
Etkinleştirme değişiklik veri yakalama.
Veritabanı yansıtma içinde katılan.
Birincil filegroup, birincil veri dosyası veya günlük dosyası kaldırılıyor.
Veritabanı veya birincil filegroup yeniden adlandırılıyor.
dbcc checkalloc çalışıyor.
dbcc checkcatalog çalışıyor.
Veritabanı OFFLINE olarak ayarlama.
Veritabanı veya birincil filegroup read_only için ayarlama.
İlişkili İçerik
SORT_IN_TEMPDB seçeneği için dizinler
sys.master_files (Transact-sql)