Просмотр исходного кода

Fixed support for incremental statistics introduced error 4104 in all versions when updating stats

Pedro Lopes 8 лет назад
Родитель
Сommit
8b8a864f87

+ 2 - 1
AdaptiveIndexDefrag/CHANGELOG.txt

@@ -111,4 +111,5 @@ v1.6.3.2 - 11/4/2016 - Fixed DISABLE index applying to NCCI.
 			Added statistic related info to log table (rows, mod counter, rows sampled).
 v1.6.3.3 - 11/7/2016 - Rolled back previously reported issue with REORGANIZE and database names.
 v1.6.4 - 11/10/2016 - Fixed support for incremental statistics  in SQL Server 2016 RTM.
-v1.6.4.1 - 11/16/2016 - Added support for incremental statistics in SQL Server 2016 SP1.
+v1.6.4.1 - 11/16/2016 - Added support for incremental statistics in SQL Server 2016 SP1.
+v1.6.4.2 - 1/20/2017 - Fixed support for incremental statistics introduced error 4104.

+ 0 - 1
AdaptiveIndexDefrag/usp_AdaptiveIndexDefrag.sql

@@ -1551,7 +1551,6 @@ SELECT DISTINCT ' + CAST(@dbID AS NVARCHAR(10)) + ', ''' + QUOTENAME(DB_NAME(@db
 FROM sys.stats ss
 INNER JOIN sys.objects so ON ss.[object_id] = so.[object_id]
 INNER JOIN sys.schemas s ON so.[schema_id] = s.[schema_id]
-INNER JOIN sys.partitions sp ON ss.[object_id] = sp.[object_id] AND si.index_id = sp.index_id
 LEFT JOIN sys.indexes si ON ss.[object_id] = si.[object_id] and ss.name = si.name
 ' + CASE WHEN ((@sqlmajorver = 12 AND @sqlbuild >= 5000) OR @sqlmajorver > 12) THEN 'CROSS APPLY sys.dm_db_stats_properties_internal(ss.[object_id], ss.stats_id) sp' ELSE '' END + '
 WHERE is_ms_shipped = 0 ' + CASE WHEN @sqlmajorver >= 12 THEN 'AND ss.is_temporary = 0' ELSE '' END + '

+ 0 - 1
MaintenanceSolution/2_usp_AdaptiveIndexDefrag.sql

@@ -1551,7 +1551,6 @@ SELECT DISTINCT ' + CAST(@dbID AS NVARCHAR(10)) + ', ''' + QUOTENAME(DB_NAME(@db
 FROM sys.stats ss
 INNER JOIN sys.objects so ON ss.[object_id] = so.[object_id]
 INNER JOIN sys.schemas s ON so.[schema_id] = s.[schema_id]
-INNER JOIN sys.partitions sp ON ss.[object_id] = sp.[object_id] AND si.index_id = sp.index_id
 LEFT JOIN sys.indexes si ON ss.[object_id] = si.[object_id] and ss.name = si.name
 ' + CASE WHEN ((@sqlmajorver = 12 AND @sqlbuild >= 5000) OR @sqlmajorver > 12) THEN 'CROSS APPLY sys.dm_db_stats_properties_internal(ss.[object_id], ss.stats_id) sp' ELSE '' END + '
 WHERE is_ms_shipped = 0 ' + CASE WHEN @sqlmajorver >= 12 THEN 'AND ss.is_temporary = 0' ELSE '' END + '