Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Database
Uruchamia wszystkie UPDATE STATISTICS
tabele zdefiniowane przez użytkownika i wewnętrzne w bieżącej bazie danych.
Aby uzyskać więcej informacji na temat UPDATE STATISTICS
programu , zobacz UPDATE STATISTICS (STATYSTYKI AKTUALIZACJI). Aby uzyskać więcej informacji na temat statystyk, zobacz Statistics.
Transact-SQL konwencje składni
Składnia
sp_updatestats [ [ @resample = ] 'resample' ]
Zwracanie wartości kodu
0
(powodzenie) lub 1
(niepowodzenie).
Argumenty (w programowaniu)
[ @resample = ] 'resample'
Określa, że sp_updatestats
używa RESAMPLE
opcji instrukcji UPDATE STATISTICS . Jeśli resample
nie zostanie określony, sp_updatestats
zaktualizuj statystyki przy użyciu domyślnego próbkowania. Argument resample
to varchar(8) z wartością NO
domyślną .
Uwagi
sp_updatestats
UPDATE STATISTICS
wykonuje polecenie , określając ALL
słowo kluczowe we wszystkich tabelach zdefiniowanych przez użytkownika i wewnętrznych w bazie danych.
sp_updatestats
wyświetla komunikaty wskazujące jego postęp. Po zakończeniu aktualizacji raportuje, że statystyki są aktualizowane dla wszystkich tabel.
sp_updatestats
aktualizuje statystyki dotyczące wyłączonych indeksów nieklastrowanych i nie aktualizuje statystyk wyłączonych indeksów klastrowanych.
W przypadku tabel opartych na dyskach sp_updatestats
aktualizuje statystyki na modification_counter
podstawie informacji w widoku wykazu sys.dm_db_stats_properties , aktualizując statystyki, w których co najmniej jeden wiersz jest modyfikowany. Statystyki dotyczące tabel zoptymalizowanych pod kątem pamięci są zawsze aktualizowane podczas wykonywania polecenia sp_updatestats
. W związku z tym nie należy wykonywać sp_updatestats
więcej niż jest to konieczne.
sp_updatestats
może wyzwolić ponowną kompilację procedur składowanych lub innego skompilowanego kodu.
sp_updatestats
Jednak może nie spowodować ponownego skompilowania, jeśli tylko jeden plan zapytania jest możliwy dla tabel, do których się odwołuje i do nich indeksy. Ponowna kompilacja byłaby niepotrzebna w takich przypadkach, nawet jeśli statystyki zostaną zaktualizowane.
sp_updatestats
Zachowuje najnowszą NORECOMPUTE
opcję dla określonych statystyk. Aby uzyskać więcej informacji na temat wyłączania i ponownego włączania aktualizacji statystyk, zobacz Statystyki.
Podczas przywracania bazy danych do programu SQL Server 2022 (16.x) z poprzedniej wersji należy wykonać polecenie sp_updatestats
w bazie danych. Jest to związane z ustawieniem odpowiednich metadanych dla funkcji automatycznego upuszczania statystyk wprowadzonych w programie SQL Server 2022 (16.x). W usługach Azure SQL Database, Azure SQL Managed Instance i SQL Server 2022 (16.x) i nowszych wersjach automatycznie utworzone statystyki zawsze zachowują się tak, jakby ustawiono AUTO_DROP .
Uprawnienia
W przypadku programu SQL Server musisz być właścicielem bazy danych (dbo) lub członkiem stałej roli serwera sysadmin .
W przypadku usługi Azure SQL Database musisz być członkiem stałej roli bazy danych db_owner .
Przykłady
Poniższy przykład aktualizuje statystyki dla wszystkich tabel bazy danych:
USE AdventureWorks2022;
GO
EXECUTE sp_updatestats;
Automatyczne zarządzanie indeksami i statystykami
Użyj rozwiązań, takich jak Adaptive Index Defrag, aby automatycznie zarządzać defragmentacją indeksu i aktualizacjami statystyk dla jednej lub więcej baz danych. Ta procedura automatycznie wybiera, czy należy ponownie skompilować lub zreorganizować indeks zgodnie z poziomem fragmentacji, między innymi parametrami, oraz zaktualizować statystyki z progiem liniowym.
Treści powiązane
- System procedur składowanych (Transact-SQL)
- opcje ALTER DATABASE SET (Transact-SQL)
- UTWÓRZ STATYSTYKI (Transact-SQL)
- DBCC SHOW_STATISTICS (Transact-SQL)
- DROP STATISTICS (Transact-SQL)
- sp_autostats (Transact-SQL)
- sp_createstats (Transact-SQL)
- sys.dm_db_stats_properties
- UPDATE STATISTICS (Transact-SQL)