Tempdb version store hakkında sorular


9

Bugün bir hatayla karşılaştık:

Hata: 3967, Şiddet: 17

ve söyleyebileceğim temelde 'tam sürüm mağaza'. Mağazamda daha önce hiç bu hatayı almadığımız için bu, cevaplamakta zorlandığım bazı soruları gündeme getirdi:

  • Önceden ayarlanmış bir maksimum boyut varsa (toplam tempdb boyutuna göre veya başka bir şekilde), dinamik mi?

  • Değilse dinamik hale getirecek bir ayar var mı?

  • Buna göre uyarılar ayarlayabilir miyiz? (yani boyutu izlemek için kullanılacak DMV'ler vb.)

Yanıtlar:


7

Önem 17, SQL Server'ın gerekli bir kaynaktan bittiğini gösterir. Bunu genellikle bir veritabanında yer kalmadığında görürsünüz. Bu durumda, tempdb'ye dökülmesi gereken bir sorgu için okunan anlık görüntü yalıtım sürümü satırları için tempdb kullanılıyor gibi görünüyor.

Tempdb sınırlı bir maksimum boyuta sahipse ve örneğin çok büyük bir çapraz birleşim gerçekleştiren kötü yazılmış bir sorgu denenirse bu oldukça yaygın olabilir.

Tempdb'de sürüm deposunun geçerli boyutunu görmek için bu sorguyu kullanabilirsiniz:

SELECT *
FROM sys.dm_os_performance_counters dopc
WHERE dopc.counter_name LIKE 'Version %';

Technet'in sürüm deposu kullanımı hakkında ilginç bir makalesi var: https://technet.microsoft.com/en-us/library/cc966545.aspx#EDAA

Bu MSDN sayfasında 3967 hatası belirtiliyor:

Tempdb boş kaldığında, Veritabanı Altyapısı sürüm depolarını daralmaya zorlar. Küçültme işlemi sırasında henüz satır sürümleri oluşturmayan en uzun süren işlemler kurban olarak işaretlenir. Her kurban işlemi için hata günlüğünde bir 3967 iletisi oluşturulur. Bir işlem kurban olarak işaretlenmişse, artık sürüm deposundaki satır sürümlerini okuyamaz. Satır sürümlerini okumaya çalıştığında, 3966 iletisi oluşturulur ve işlem geri alınır. Daraltma işlemi başarılı olursa, tempdb'de alan kullanılabilir hale gelir.

Yukarıda bağladığım sayfaların hiçbiri tempdb'deki sürüm deposunun maksimum boyutu hakkında açık tavsiye içermiyor, bu da tek sınırlamanın tempdb'nin maksimum yapılandırılmış boyutu olduğuna inanıyorum, tempdb'de kullanılan alan ne olursa olsun diğer nesneler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.