Tempdb veritabanı için Microsoft SQL Server G/Ç alt sistemi gereksinimleri

Bu makalede, SQL Server'daki tempdb veritabanı için G/Ç alt sistem gereksinimleri tanıtmaktadır.

Orijinal ürün sürümü: Microsoft SQL Server 2005, SQL Server 2008, SQL Server 2012 SQL Server 2014
Özgün KB numarası: 917047

Özet

Microsoft SQL Server, sistem ve kullanıcı veritabanlarını depolamak için kullanılan G/Ç alt sisteminin belirli G/Ç sorumluları aracılığıyla Write-Ahead Günlüğe Kaydetme (WAL) gereksinimlerini tam olarak karşılamasını gerektirir. Bu gereksinimler, işlemlerin ACID özelliklerine uymak için gereklidir: Atomik, Tutarlı, Yalıtılmış ve Dayanıklı. G/Ç alt sistem uyumluluk gereksinimleriyle ilgili ayrıntılar aşağıdaki başvurularda verilmiştir:

SQL Server 2000 G/Ç temel bilgilerihttps://technet.microsoft.com/library/cc966500.aspx

Not

Bu makale SQL Server 2005 ve sonraki sürümler için de geçerlidir.

Aşağıdaki listede gereksinimlerin hızlı bir özeti verilmiştir:

  • Yazma sıralamanın korunması gerekir.
  • Bağımlı yazma tutarlılığı korunmalıdır.
  • Yazma işlemleri her zaman kararlı medyada/ortamda güvenli hale getirilmelidir.
  • Yırtılmış G/Ç önlemesi gerçekleşmelidir.

Dayanıklılık bakımı diğer tüm veritabanları için kritik olmaya devam eder ancak tempdb veritabanı için gevşetilebilir. Aşağıdaki tabloda, SQL Server veritabanları için kritik G/Ç gereksinimlerinin birkaçı özetlemektedir.

G/Ç gereksinimi Kısa açıklama Sistem veya kullanıcı Tempdb
Yazma sırası

Bağımlı yazma tutarlılığı
Alt sistemin yazma işlemlerinin doğru sırasını koruyabilme özelliği. Bu özellikle çözümleri yansıtma, grup tutarlılığı gereksinimleri ve WAL protokolü kullanımı SQL Server için önemli olabilir. Gerekli Önerilen
Yazdıktan sonra oku Herhangi bir yazma işlemi başarıyla tamamlandıktan sonra okuma işlemi yapıldığında alt sistemin en son veri görüntüsüyle okuma isteklerine hizmet verebilmesi. Gerekli Gerekli
Kesintiler arasında hayatta kalma Sistemin yeniden başlatılması gibi bir kesintide verilerin tam olarak bozulmadan (Dayanıklı) kalabilmesi. Gerekli Geçerli değil
Yırtılmış G/Ç önleme Sistemin tek tek G/Ç isteklerini bölmekten kaçınma özelliği. Gerekli Önerilen
Kesim yeniden yazma Sektör yalnızca bütün olarak yazılabilir ve yakındaki bir kesime yazma isteği nedeniyle yeniden yazılamaz. * Önerilmez, yalnızca işlemselse izin verilir * Önerilmez, yalnızca işlemselse izin verilir
Sağlamlaştırılmış veriler Yazma isteği veya FlushFileBuffers işlemi başarıyla tamamlandığında verilerin kararlı medyaya kaydedildiği beklentisi. Gerekli Geçerli değil
Fiziksel kesim hizalaması ve boyutu SQL Server verileri ve günlük dosyası depolama konumlarını sorgular. Tüm cihazların, SQL Server kesime hizalanmış fiziksel sınırlarda ve kesim boyutunun katlarında yazma gerçekleştirmesine izin vermek için kesim özniteliklerini desteklemek için gereklidir. Gerekli Gerekli

İşlem kesimi yeniden yazma işlemleri, alt sistem tarafından tam olarak günlüğe kaydedilen işlemleri içerir ve bir kesimin tamamen taşınmasına, değiştirilmesine veya özgün görüntüye geri alınmasına izin verilir. Bu tür eylemleri gerçekleştirmek için gereken ek yük nedeniyle bu yeniden yazma işlemleri genellikle önerilmez. Bunun bir örneği, dosya verilerinin taşındığı bir defragmentation yardımcı program olabilir. Dosyadaki özgün kesim, yeni kesim ve veriler güvenli hale getirilene kadar yeni kesim konumuyla değiştirilemez. Kesimin yeniden eşlemesi, elektrik kesintisi de dahil olmak üzere herhangi bir hatanın özgün verilerin yeniden oluşturulmasına neden olması için işlemsel bir şekilde gerçekleşmelidir. Bu tür bir işlem sırasında geçersiz veri erişimini önlemek ve böylece diğer SQL Server G/Ç kiracılarını korumak için kilitleme mekanizmalarına sahip olduğunuzdan emin olun.

Kesintiler arasında hayatta kalma

Tempdb veritabanı, SQL Server için bir karalama alanıdır ve her SQL Server başlangıçta yeniden oluşturulur. Başlatma işlemi, yeniden başlatma işleminden sonra veri ihtiyacının yerine geçer.

İşlem kesimi yeniden yazma işlemleri

Geri alma ve kilitlenme kurtarma gibi kurtarma işlemlerinin başarısını garanti etmek için, veri sayfası depolanmadan önce günlük kayıtlarının kararlı medyada doğru bir şekilde depolanması gerekir ve işlem özellikleri dikkate alınmadan yeniden yazılamaz. Bunun için alt sistemin ve SQL Server yazma sıralama, kesim hizalı ve boyutlandırılmış yazmalar gibi belirli özniteliklerin ve daha önce bahsedilen belgelerde özetlenen diğer G/Ç güvenlik özniteliklerinin korunması gerekir. Tempdb veritabanı için kilitlenme kurtarma işlemi gereksizdir çünkü veritabanı her zaman SQL Server başlatma sırasında başlatılır. Ancak tempdb veritabanı hala geri alma özellikleri gerektirir. Bu nedenle, WAL protokolünün bazı öznitelikleri gevşetilebilir.

Tempdb veritabanının depolama konumu, yerleşik disk sürücüsü protokollerine tam olarak uygun şekilde hareket etmelidir. Her şekilde, tempdb veritabanının depolandığı cihaz görünmelidir ve yazma özelliklerinden sonra okuma sağlayan bir fiziksel disk olarak hareket etmelidir. İşlem kesimi yeniden yazma işlemleri belirli uygulamaların ek bir gereksinimi olabilir. Örneğin, NTFS sıkıştırması önceden yazılmış ve sağlamlaştırılmış olarak kabul edilen günlük kesimlerini yeniden yazabileceğinden, SQL Server NTFS dosya sistemi sıkıştırması kullanılarak veritabanı değişikliklerini desteklemez. Bu tür bir yeniden yazma sırasında oluşan bir hata, veritabanının kullanılamaz olmasına ve zaten güvenli olarak kabul SQL Server verilere zarar vermesine neden olabilir.

Not

SQL Server 2005 genişletilmiş destek veya sıkıştırma salt okunur veritabanları ve dosya grupları. Tüm ayrıntılar için SQL Server 2005 Çevrimiçi Kitaplar'a bakın.

İşlem kesimi yeniden yazma işlemleri, tempdb veritabanını içeren tüm SQL Server veritabanlarına uygundur. Artan çeşitli genişletilmiş depolama teknolojileri, güvenli olarak kabul SQL Server verileri yeniden yazabilen cihazları ve yardımcı programları kullanır. Örneğin, yeni ortaya çıkan teknolojilerden bazıları bellek içi önbelleğe alma veya veri sıkıştırma işlemi gerçekleştirir. Ciddi veritabanı hasarlarını önlemek için, herhangi bir kesim yeniden yazma işlemi, bir hata oluşması durumunda verilerin önceki kesim görüntülerine geri alınması için tam işlem desteğine sahip olmalıdır. Bu, SQL Server hiçbir zaman beklenmeyen bir kesintiye veya veri hasarı durumuna maruz kalmadığını garanti eder.

Tempdb veritabanını RAM diskleri, katı hal veya diğer veritabanları için kullanılamayabilecek diğer yüksek hızlı uygulamalar gibi özel alt sistemlere yerleştirebilirsiniz. Ancak, bu seçenekleri değerlendirirken Daha Fazla Bilgi bölümünde sunulan temel faktörler dikkate alınmalıdır.

Not

Yük Devretme Kümelenmiş ortamlarındaki yerel diskler yalnızca katı hal veya yüksek hızlı uygulamalarla desteklenir. Bunun nedeni RAM diskinin yalnızca bir iSCSI hedefi üzerinden oluşturulabilmesidir. Ayrıca, iSCSI hedefi ve Yük Devretme Kümesi özellikleri aynı konakta kullanılamaz.

Daha fazla bilgi

Tempdb veritabanının depolama konumunu değerlendirirken birkaç faktör dikkatle incelenmelidir. Örneğin tempdb veritabanı kullanımı bellek ayak izi, sorgu planı ve G/Ç kararlarını içerir ancak bunlarla sınırlı değildir. Tempdb veritabanının uygun şekilde ayarlanması ve uygulanması, sistemin ölçeklenebilirliğini ve yanıt hızını artırabilir. Bu bölümde, tempdb veritabanı için depolama gereksinimlerini belirlemedeki temel faktörler açıklanmaktadır.

Yüksek hızlı alt sistemler

Piyasada SQL Server G/Ç alt sistemi protokol gereksinimleri sağlayan ancak medyanın dayanıklılığını sağlamayan çeşitli yüksek hızlı alt sistem uygulamaları vardır.

Önemli

SQL Server G/Ç gereksinimleriyle tam uyumluluğu garanti etmek için her zaman ürün satıcısıyla onaylayın.

RAM diski, böyle bir uygulamanın yaygın örneklerinden biridir. RAM diskleri gerekli sürücüleri yükler ve ana RAM diskinin bir kısmının sisteme bağlı herhangi bir disk sürücüsü gibi görünmesini ve çalışmasını sağlar. Tüm G/Ç alt sistemleri, SQL Server G/Ç gereksinimleriyle tam uyumluluk sağlamalıdır. Ancak, RAM diskin dayanıklı medya olmadığı açıktır. Bu nedenle, RAM diski gibi bir uygulama yalnızca tempdb veritabanının konumu olarak kullanılabilir ve diğer veritabanları için kullanılamaz.

Uygulama ve dağıtımdan önce dikkate alınması gereken anahtarlar

Tempdb veritabanının bu tür bir alt sisteme dağıtılabilmesi için dikkat edilmesi gereken çeşitli noktalar vardır. Bu bölümde tartışmanın temeli olarak bir RAM diski kullanılır, ancak diğer yüksek hızlı uygulamalarda benzer sonuçlar ortaya çıkar.

G/Ç güvenliği

Yazma ve işlem kesimi yazma işlemlerinden sonra okuma uyumluluğu şarttır. SQL Server hiçbir zaman SQL Server G/Ç gereksinimlerini tam olarak desteklemeyen bir sisteme dağıtmayın veya verilerinizin zarar görmesine ve kaybolmasına neden olursunuz.

Önceden önbelleğe alınmış sayfalar (Çift RAM önbelleği)

Geçici tablolar, veritabanındaki diğer tüm tablolar gibidir. Bunlar arabellek havuzu tarafından önbelleğe alınır ve gecikmeli yazma işlemleri tarafından işlenir. Geçici tablo sayfalarını bir RAM diskinde depolamak, biri arabellek havuzunda ve diğeri RAM diskinde olmak üzere çift RAM önbelleğe almaya neden olur. Bu, arabellek havuzunun toplam olası boyutunu doğrudan ortadan kaldırır ve genellikle SQL Server performansını azaltır.

RAM'i bırakma

RAM diski, adından da anlaşılacağı gibi ana RAM'in bir bölümünü gösterir. RAM disklerinin ve RAM tabanlı dosya önbelleklerinin çeşitli uygulamaları vardır. Bazıları fiziksel G/Ç yedekleme işlemlerini de etkinleştirir. RAM tabanlı dosya önbelleğinin temel öğesi, SQL Server tarafından kullanılabilecek fiziksel belleği doğrudan almasıdır. RAM tabanlı dosya önbelleği eklemenin uygulama performansını artırdığını ve diğer sorgu veya uygulama performansını düşürmediğini her zaman güçlü kanıtlara sahip olur.

Önce ayarlama

Bir uygulama tempdb veritabanının kullanılmasına neden olabilecek gereksiz ve istenmeyen sıralamaları ve karmaları kaldıracak şekilde ayarlanmalıdır. Çoğu zaman dizin eklenmesi plandaki sıralama veya karma gereksinimini tamamen ortadan kaldırarak tempdb veritabanının kullanılmasına gerek kalmadan en iyi performansı elde edebilir.

Olası avantaj noktaları

Tempdb veritabanını yüksek hızlı bir sisteme yerleştirmenin avantajları ancak uygulama iş yüklerinin sıkı test ve ölçümleriyle belirlenebilir. Tempdb veritabanının yararlanabileceği özellikler için iş yükünün dikkatle incelenmesi ve G/Ç güvenliğinin dağıtımdan önce onaylanması gerekir.

Sıralama ve karma işlemleri, her sıralama veya karma işlemi için bellek içi karalama alanının boyutunu belirlemek üzere SQL Server bellek yöneticileriyle birlikte çalışır. Sıralama veya karma veriler ayrılan bellek içi karalama alanını aşar aşmaz veriler tempdb veritabanına yazılabilir. Bu algoritma SQL Server 2005'te genişletilerek SQL Server önceki sürümlerine göre tempdb veritabanı kullanım gereksinimleri azaltılmıştır.

Dikkat

SQL Server, tempdb veritabanı işlemlerinin kullanımını içeren sorgu planı kararları verirken bellek düzeylerini ve geçerli sorgu etkinliklerini hesaba katacak şekilde tasarlanmıştır. Bu nedenle performans kazançları, iş yüklerine ve uygulama tasarımına göre önemli ölçüde farklılık gösterir. Bu tür bir dağıtımdan önce olası kazançları belirlemek ve G/Ç güvenlik gereksinimlerini değerlendirmek için tercih edilen çözümle testi tamamlamanızı kesinlikle öneririz.

SQL Server sıralamalar, karmalar, satır sürümü deposu ve geçici tablolar içeren çeşitli etkinlikleri işlemek için tempdb veritabanını kullanır:

  • Geçici tablolar, veri sayfaları için ortak arabellek havuzu yordamları tarafından korunur ve genellikle özel alt sistem uygulamalarından performans avantajları sergilemez.
  • Tempdb veritabanı karmalar ve sıralamalar için karalama alanı olarak kullanılır. Bu tür işlemler için G/Ç gecikme süresini azaltmak yararlı olabilir. Ancak, karma veya sıralamadan kaçınmak için dizin eklemek de benzer bir avantaj sağlayabilir.

Avantajları karşılaştırmak için temelleri yüksek hızlı alt sistemde depolanan tempdb veritabanıyla ve olmadan çalıştırın. Testin bir bölümü, kullanıcı veritabanında sıralama, karma veya geçici tablo içermeyen sorguları içermeli ve ardından bu sorguların olumsuz etkilenmediğini onaylamalıdır. Sistemi değerlendirirken aşağıdaki performans göstergeleri yararlı olabilir.

Göstergesi Açıklama/kullanım
Sayfa okuma ve yazma işlemleri Tempdb veritabanı G/Ç'lerinin performansını artırmak, tempdb veritabanı G/Ç ile ilişkili gecikme süresinin azalması nedeniyle kullanıcı veritabanları için sayfa okuma ve yazma hızını değiştirebilir. Kullanıcı veritabanı sayfalarında, genel sayı aynı iş yükü arasında değişmemelidir.
Tempdb veritabanına fiziksel okuma ve yazma baytları Tempdb veritabanını RAM diski gibi bir cihaza taşımak tempdb veritabanının gerçek G/Ç değerini artırırsa, arabellek havuzundan alınan belleğin artan tempdb veritabanı etkinliğinin oluşmasına neden olduğunu gösterir. Bu düzen, veritabanı sayfalarının sayfa ömrü beklentisinin de olumsuz yönde etkilenebileceğini gösteren bir göstergedir.
Sayfa ömrü beklentisi Sayfa ömrü beklentisindeki bir düşüş, kullanıcı veritabanı için fiziksel G/Ç gereksinimlerinde artış olduğunu gösterebilir. Hız düşüşleri, arabellek havuzundan alınan belleğin veritabanı sayfalarını arabellek havuzundan erken çıkmaya zorladığını gösteriyor olabilir. Diğer göstergelerle birleştirin ve parametre sınırlarını tam olarak anlamak için test edin.
Genel aktarım hızı
CPU kullanımı
Ölçeklenebilir -lik
Yanıt süresi
Tempdb veritabanı yapılandırma değişikliğinin birincil hedefi genel aktarım hızını artırmaktır. Testiniz, aktarım hızının nasıl etkilendiğini belirlemek için ölçeği genişletilebilen tekrarlanabilir iş yüklerinin bir karışımını içermelidir.

Sıkıştırma tabanlı RAM disk uygulaması gibi bir şey 10 kullanıcıyla iyi çalışabilir. Ancak artan iş yüküyle bu durum CPU düzeylerini istenen düzeylerin ötesine itebilir ve iş yükleri yüksek olduğunda yanıt süresi üzerinde olumsuz etkilere neden olabilir. Gerçek stres testleri ve gelecekteki yük tahmin testleri teşvik edilir.
İş dosyaları ve iş tablosu oluşturma eylemleri Tempdb veritabanını RAM diski gibi bir cihaza taşırsanız, iş dosyalarının veya iş tablolarının sayısını veya boyutunu artırarak sorgu planını değiştirirse, arabellek havuzundan alınan belleğin artan tempdb veritabanı etkinliğinin oluşmasına neden olduğunu gösterir. Bu desen, veritabanı sayfalarının sayfa ömrü beklentisinin de olumsuz yönde etkilenebileceğinin göstergesidir.

İşlem kesimi yeniden yazma örneği

Aşağıdaki örnek, SQL Server veritabanları için gereken veri güvenliğini ayrıntılı bir şekilde açıklar.

RAM disk satıcısının bellek içi sıkıştırma uygulaması kullandığını varsayalım. Kesim hizalanmış ve boyutlandırılmış gibi dosya akışının fiziksel görünümü sağlanarak uygulamanın doğru bir şekilde kapsüllenmesi ve SQL Server temel alınan uygulamadan doğru şekilde korunması gerekir. Sıkıştırma örneğine daha yakından bakın.

  • Sektör 1 cihaza yazılır ve alandan tasarruf etmek için sıkıştırılır.
  • Sektör 2 cihaza yazılır ve alandan tasarruf etmek için sektör 1 ile sıkıştırılır.

Cihaz, 2. kesim verileriyle birleştirildiğinde 1. kesim verilerinin güvenliğini sağlamaya yardımcı olmak için aşağıdaki eylemleri gerçekleştirebilir.

  • 1. ve 2. kesimlere yapılan tüm yazmaları engelleyin.
  • 1. kesimin sıkıştırmasını bir karalama alanına açın ve geçerli kesim 1 depolama alanını alınacak etkin veri olarak bırakın.
  • 1 ve 2 kesimlerini yeni bir depolama biçimine sıkıştırır.
  • 1. ve 2. kesimlerin tüm okuma ve yazmalarını engelleyin.
  • Yeni depolama alanıyla 1 ve 2. kesimler için eski depolamayı değiştirme. Değişim girişimi başarısız olursa (geri alma):
    • 1. ve 2. kesimler için özgün depolama alanını geri yükleyin.
    • 1. ve 2. kesimlerin birleştirilmiş verilerini sıfırdan kaldırın.
    • Kesim 2 yazma işlemi başarısız olur.
  • 1. ve 2. kesimler için okuma ve yazma engelini kaldırın.

Sektör değişiklikleri etrafında kilitleme mekanizmaları sağlama ve sektör değişimi girişimi başarısız olduğunda değişiklikleri geri alma özelliği geçiş açısından uyumlu olarak kabul edilir. Genişletilmiş yedekleme için fiziksel depolama kullanan uygulamalar için, SQL Server veritabanı dosyalarının bütünlüğünü korumak için disk üzerindeki yapılara uygulanan değişikliklerin güvenliğini sağlamaya ve geri alma işlemine yardımcı olmak için uygun işlem günlüğü yönlerini içerir.

Sektörlerin yeniden yazılmasını sağlayan tüm cihazlar, SQL Server veri kaybına maruz kalmaması için yeniden yazma işlemlerini işlemsel bir şekilde desteklemelidir.

Not

SQL Server örneği, tempdb veritabanında çevrimiçi G/Ç ve geri alma hataları oluştuğunda yeniden başlatılır.

Tempdb veritabanını taşırken dikkatli olun

tempdb veritabanını taşırken dikkatli olun çünkü tempdb veritabanı oluşturulamazsa SQL Server başlatılamaz. tempdb veritabanı oluşturulamıyorsa, (-f) başlangıç parametresini kullanarak SQL Server başlatın ve tempdb veritabanını geçerli bir konuma taşıyın.

Tempdb veritabanının fiziksel konumunu değiştirmek için şu adımları izleyin:

  1. ALTER DATABASE Yeni disk gibi yeni fiziksel konuma başvurmak üzere tempdb veritabanındaki her dosyanın fiziksel dosya adlarını değiştirmek için deyimini ve MODIFY FILE yan tümcesini kullanın.

    ALTER DATABASE tempdb MODIFY FILE 
    (name = tempdev, filename = 'C:\MyPath\tempdb.mdf')
    
    ALTER DATABASE tempdb MODIFY FILE 
    (name = templog, filename = 'C:\MyPath\templog.ldf')
    
  2. SQL Server durdurun ve yeniden başlatın.

İş ortağı ürün sertifikaları, uyumluluk veya güvenlik garantisi değildir

Üçüncü taraf bir ürün veya belirli bir satıcı Microsoft logo sertifikası alabilir. Ancak iş ortağı sertifikası veya belirli bir Microsoft logosu, SQL Server belirli bir amaca uygunluk veya uyumluluğu onaylamaz.

Destek

Bu makalede açıklandığı gibi işlemsel veritabanı kullanımı için G/Ç garantilerini destekleyen SQL Server sahip bir alt sistem kullanıyorsanız, Microsoft SQL Server ve SQL Server tabanlı uygulamalar için destek sağlar. Ancak, alt sistemle ilgili veya neden olan sorunlar üreticiye başvurulacaktır.

Tempdb veritabanıyla ilgili sorunlar için Microsoft Desteği Hizmetleri tempdb veritabanını yeniden dağıtmanızı ister. Cihazı işlemsel veritabanı kullanımı için doğru şekilde dağıtıp yapılandırdığınızdan emin olmak için cihaz satıcınıza başvurun.

Microsoft, üçüncü taraf ürünlerin SQL Server doğru çalıştığını onaylamaz veya doğrulamaz. Ayrıca Microsoft, üçüncü taraf ürünün SQL Server ile kullanım için uygun olup olmadığının garantisini, garantisini veya beyanını sağlamaz.

Başvurular

Ek bilgi için, aşağıdaki Microsoft Bilgi Bankası makalelerine bakın: