Hayır, neden yavaş çalıştığını kontrol edemezsiniz, ancak size bazı ipuçları verebilirim:
1) SQL 2005'te, kümelenmemiş dizinlerin yönetimi Depolama Altyapısı'ndan (ekibim) Sorgu İşlemciye değiştirildi. Bunun birçok yan etkisi vardır, bunlardan biri yığın veri sayfalarının küçültülerek taşınabilme hızıdır. Kümelenmemiş tüm dizin kayıtları, dizine ekledikleri veri kaydına bir geri bağlantı içerir - bir yığın durumunda, bu, belirli bir veri sayfasındaki kayıt numarasına fiziksel bir bağlantıdır. Bir yığın veri sayfası daralma ile taşındığında, o sayfadaki kayıtlara geri bağlantı veren kümelenmemiş tüm dizin kayıtları sayfanın yeni konumu ile güncellenmelidir. 2000 yılında bu işlem Depolama Motorunun kendisi tarafından çok verimli bir şekilde yapıldı. 2005'ten itibaren, bu kümelenmemiş dizin kayıtlarını güncellemek için Sorgu İşlemcisi çağrılarak yapılmalıdır. Bu bazen 2000'den 100 kat daha yavaştır.
2) Sıra dışı LOB değerleri (gerçek LOB veri türleri veya satır taşması verileri) parçası oldukları veriler veya dizin kaydına bir geri bağlantı içermez. Bir LOB kayıtları sayfası taşındığında, parçası oldukları tüm tablo veya indeks taranarak hangi veri / indeks kayıtlarının onlara işaret ettiğini anlamak için taranmalıdır, böylece yeni konumla güncellenebilirler. Bu da çok, çok yavaş.
3) Veritabanını kullanarak başka bir işlem olabilir, bu da shrink'in sayfaları hareket ettirmesi için gereken kilitleri beklemeyi engellemesine neden olur.
4) Anlık görüntü yalıtımı etkinleştirilmiş olabilir ve küçültme, bu eski sürümleri gerektiren işlemler tamamlanana kadar sürüm deposu bağlantılarına sahip sayfaları taşıyamaz.
5) G / Ç alt sisteminizin gücü düşük olabilir. Düşük tek basamaktan daha yüksek bir disk kuyruğu uzunluğu, darboğazdaki G / Ç alt sisteminiz anlamına gelir.
Bunların herhangi biri veya tümü, yavaş büzülme sürelerine katkıda bulunabilir.
Genel olarak, shrink çalıştırmak istemezsiniz. Ayrıntılar için bu blog yayınına bakın: Veri dosyalarınızı neden küçültmemeniz gerekir .
Bu yardımcı olur umarım!