Ö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.