Aracılığıyla paylaş


Dizin işlemleri için işlem günlüğü disk alanı

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Büyük ölçekli dizin işlemleri, işlem günlüğünün hızla dolmasına neden olabilecek büyük veri yükleri oluşturabilir. Dizin işleminin geri alınaabildiğinden emin olmak için, dizin işlemi tamamlanana kadar işlem günlüğü kırpılamaz; ancak günlük, dizin işlemi sırasında yedeklenebilir. Bu nedenle, işlem günlüğünde hem dizin işlemi işlemlerini hem de dizin işlemi süresi boyunca tüm eşzamanlı kullanıcı işlemlerini depolamak için yeterli alan olmalıdır.

Bu, hem çevrimdışı hem de çevrimiçi dizin işlemleri için geçerlidir. Çevrimdışı dizin işlemi sırasında temel tablolara erişilemediğinden, çok az kullanıcı işlemi olabilir ve günlük o kadar hızlı büyümeyebilir. Çevrimiçi dizin işlemleri eşzamanlı kullanıcı etkinliğini engellemez, bu nedenle büyük ölçekli çevrimiçi dizin işlemleri önemli eşzamanlı kullanıcı işlemleriyle birlikte günlüğü kesme seçeneği olmadan işlem günlüğünün sürekli büyümesine neden olabilir.

Recommendations

Büyük ölçekli dizin işlemlerini çalıştırdığınızda aşağıdaki önerileri göz önünde bulundurun:

  1. Büyük ölçekli dizin işlemlerini çevrimiçi çalıştırmadan önce işlem günlüğünün yedeklendiğinden ve kesildiğinden ve günlükte öngörülen dizini ve kullanıcı işlemlerini depolamak için yeterli alana sahip olduğundan emin olun.

  2. Dizin işlemi için SORT_IN_TEMPDB seçeneğini ON olarak ayarlamayı düşünün. Bu, dizin işlemlerini eşzamanlı kullanıcı işlemlerinden ayırır. Dizin işlemleri işlem günlüğünde tempdb depolanır ve eşzamanlı kullanıcı işlemleri kullanıcı veritabanının işlem günlüğünde depolanır. Bu, gerekirse dizin işlemi sırasında kullanıcı veritabanının işlem günlüğünün kısaltılmasını sağlar. Ayrıca, tempdb kaydı kullanıcının veritabanı günlüğüyle aynı diskte değilse, iki günlük aynı disk alanı için rekabet etmez.

    Uyarı

    Veritabanı ve işlem günlüğünün tempdb dizin işlemini işlemek için yeterli disk alanına sahip olduğunu doğrulayın. Dizin tempdb işlemi tamamlanana kadar işlem günlüğü kesilemez.

  3. İndekse yönelik işlem için en az günlük kaydı gerektiren bir veritabanı kurtarma modeli kullanın. Bu, günlüğün boyutunu küçültebilir ve günlüğün günlük alanını doldurmasını engelleyebilir.

  4. Çevrimiçi dizin işlemini açık bir işlemde çalıştırmayın. Belirtilmiş işlem sona erene kadar günlük kesilmez.