If you turn on this trace flag, the new threshold to update the statistics will be lower for tables with a high number of rows.
We will create a simple table in the MSSQLTips Demo database and fill it with 60,000 rows: USE [MSSQLTips Demo] GO -- set to SQL 2014 ALTER DATABASE [MSSQLTips Demo] SET COMPATIBILITY_LEVEL = 120 GO CREATE TABLE [dbo].[Statistics Demo]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL ) ON [PRIMARY] GO DECLARE @Number Of Rows INT SET @Number Of Rows = 60000; WHILE (@Number Of Rows From SQL Server Management Studio (SSMS), expand the table node from the Object Explorer, then expand the Statistics node to view the newly created statistics.
The statistics that start with _WA means that it is automatically created using the AUTO_CREATE_STATISTICS feature: The DBCC Show_Statistics command can be used to show the statistics details, such as the updated date and the number of rows in the table.
To use, you just need to specify the table name and statistic name as follows: As previously mentioned, to trigger the auto update statistics feature, more than 20% of the table rows should be updated.
In our case, the table has 60,000 rows, so more than 12,000 records should be modified to update the statistics, but using SQL Server 2016 the database engine will override this rule for large tables.
If we query the compatibility_level property of our database from the sys.databases system table we can see the current compatibility level: Although we are using SQL Server 2016 version, we need to make sure the compatibility level of the database is (130) which is the default compatibility level for newly created databases in SQL Server 2016.
But if the SQL Server instance is upgraded from an old version or the database is restored from a backup taken from earlier SQL Server version, the compatibility level will not be (130) and the new change for the auto update statistics will not be applicable.In order to trigger the auto update statistics feature in SQL Server, the number of updated rows should exceed 20% of the table rows.In the case of large tables, such as a table with 1 million rows, more than 200,000 records need to be updated in order to update the table statistics.In SQL Server 2016, you don't need to turn on trace flag 2371 because this new method is used by default by the SQL Server engine when determining when to update the statistics.Let's walk through a small demo to see how the auto update statistics behaves.This includes items that are reported to the team via Microsoft Connect, where customers often leave feedback or report product issues they’ve encountered.