Aracılığıyla paylaş


sp_updatestats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseMicrosoft Fabric'te SQL veritabanı

Geçerli veritabanındaki tüm kullanıcı tanımlı ve iç tablolarda çalışır UPDATE STATISTICS .

hakkında UPDATE STATISTICSdaha fazla bilgi için bkz . İSTATİSTİkLerİ GÜNCELLEŞTIRME. İstatistikler hakkında daha fazla bilgi için bkz. İstatistikler.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_updatestats [ [ @resample = ] 'resample' ]

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Tartışmalar

[ @resample = ] 'yeniden örnekleme'

sp_updatestats deyiminin seçeneğinin kullanıldığını RESAMPLE belirtir. Belirtilmezse resample , sp_updatestats varsayılan örneklemeyi kullanarak istatistikleri güncelleştirir. resample Bağımsız değişken, varsayılan değeri olan varchar(8) değeridirNO.

Açıklamalar

sp_updatestats UPDATE STATISTICS, anahtar sözcüğünü veritabanındaki ALL tüm kullanıcı tanımlı ve iç tablolarda belirterek yürütür. sp_updatestats , ilerleme durumunu belirten iletileri görüntüler. Güncelleştirme tamamlandığında, tüm tablolar için istatistiklerin güncelleştirildiğini bildirir.

sp_updatestats devre dışı bırakılan kümelenmemiş dizinlerle ilgili istatistikleri güncelleştirir ve devre dışı bırakılmış kümelenmiş dizinlerdeki istatistikleri güncelleştirmez.

Disk tabanlı tablolar için, sp_updatestats en az bir satırın modification_counter değiştirildiği istatistikleri güncelleştirerek sys.dm_db_stats_properties katalog görünümündeki bilgilere göre istatistikleri güncelleştirir. yürütülürken sp_updatestatsbellek için iyileştirilmiş tablolarla ilgili istatistikler her zaman güncelleştirilir. Bu nedenle, gerekenden fazlasını yürütmeyin sp_updatestats .

sp_updatestats saklı yordamların veya başka bir derlenmiş kodun yeniden derlemini tetikleyebilir. Ancak, sp_updatestats başvuruda bulunılan tablolar ve bunlardaki dizinler için yalnızca bir sorgu planı mümkünse yeniden derlemeye neden olmayabilir. bu gibi durumlarda istatistikler güncelleştirilse bile yeniden derleme gerekli olmayabilir.

sp_updatestats belirli istatistikler için en son NORECOMPUTE seçeneği korur. İstatistik güncelleştirmelerini devre dışı bırakma ve yeniden etkinleştirme hakkında daha fazla bilgi için bkz. İstatistikler.

Veritabanını önceki bir sürümden SQL Server 2022'ye (16.x) geri yüklerken veritabanında yürütmeniz sp_updatestats gerekir. Bu, SQL Server 2022'de (16.x) tanıtılan istatistik otomatik bırakma özelliği için uygun meta verileri ayarlamayla ilgilidir. Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve SQL Server 2022 (16.x) ve sonraki sürümlerde otomatik olarak oluşturulan istatistikler her zaman AUTO_DROP ayarlanmış gibi davranır.

İzinler

SQL Server için veritabanının (dbo) sahibi veya sysadmin sabit sunucu rolünün üyesi olmanız gerekir.

Azure SQL Veritabanı için db_owner sabit veritabanı rolünün üyesi olmanız gerekir.

Örnekler

Aşağıdaki örnek, veritabanının tüm tablolarının istatistiklerini güncelleştirir:

USE AdventureWorks2022;
GO

EXECUTE sp_updatestats;

Otomatik dizin ve istatistik yönetimi

Dizin birleştirmeyi ve bir veya daha fazla veritabanının istatistik güncelleştirmelerini otomatik olarak yönetmek için Uyarlamalı Dizin Birleştirme gibi çözümleri kullanın. Bu yordam, diğer parametrelerin yanında bir dizini parçalanma düzeyine göre yeniden derlemeyi veya yeniden düzenlemeyi ve istatistikleri doğrusal bir eşikle güncelleştirmeyi otomatik olarak seçer.