Biodro>
Statystyki obiektów bazy danych powinny być aktualne, aby umożliwić podjęcie właściwej decyzji przez optymalizator SQL Server.
Jeśli statystyki obiektów bazy danych nie są aktualne, optymalizator bazy danych SQL Server podejmie błędną decyzję dotyczącą wykonania planu transakcji.
Możesz zaktualizować wszystkie statystyki bazy danych za pomocą następującego skryptu w instancji SQL Server.
Poniższe zapytanie należy wykonać w wolnym czasie bazy danych, na przykład wieczorem lub w weekendy.
DECLARE @SQL VARCHAR(1000) DECLARE @DB sysname DECLARE curDB CURSOR FORWARD_ONLY STATIC FOR SELECT [name] FROM master..sysdatabases WHERE [name] NOT IN ('model', 'tempdb') ORDER BY [name] OPEN curDB FETCH NEXT FROM curDB INTO @DB WHILE @@FETCH_STATUS = 0 BEGIN SELECT @SQL = 'USE [' + @DB +']' + CHAR(13) + 'EXEC sp_updatestats' + CHAR(13) PRINT @SQL FETCH NEXT FROM curDB INTO @DB END CLOSE curDB DEALLOCATE curDB