EXECUTE sp_MSForEachTable N'UPDATE STATISTICS ? WITH FULLSCAN,ALL';
[sys].[sp_MSforeachTable] @command1 NVARCHAR (2000) , @replacechar NCHAR (1)=N'?' , @command2 NVARCHAR (2000)=NULL , @command3 NVARCHAR (2000)=NULL , @precommand NVARCHAR (2000)=NULL , @postcommand NVARCHAR (2000)=NULL [sys].[sp_MSforeachdb] @command1 NVARCHAR (2000) , @replacechar NCHAR (1)=N'?' , @command2 NVARCHAR (2000)=NULL , @command3 NVARCHAR (2000)=NULL , @precommand NVARCHAR (2000)=NULL , @postcommand NVARCHAR (2000)=NULL
[dbo].[ExecuteForEachDB] @command1 NVARCHAR (4000)=N'' --required parameter , @replacechar NVARCHAR (1)=N'?' --optional parameter , @command2 NVARCHAR (4000)=N'' --optional parameter , @command3 NVARCHAR (4000)=N'' --optional parameter , @precommand NVARCHAR (4000)=N'' --optional parameter , @postcommand NVARCHAR (4000)=N'' --optional parameter , @setnocounton BIT = true --optional parameter , @messageOptions NVARCHAR (8) =N'Errora' --optional parameter WITH EXECUTE AS CALLER AS EXTERNAL NAME [SqlIterators].[SqlIterators.MSForEachReplacements].[ExecuteForEachDB] GO CREATE PROCEDURE [dbo].[ExecuteForEachTable] @command1 NVARCHAR (4000)=N'' --required parameter , @database NVARCHAR (128)=N'' --required parameter , @replacechar NVARCHAR (1)=N'?' --optional parameter , @command2 NVARCHAR (4000)=N'' --optional parameter , @command3 NVARCHAR (4000)=N'' --optional parameter , @precommand NVARCHAR (4000)=N'' --optional parameter , @postcommand NVARCHAR (4000)=N'' --optional parameter , @setnocounton BIT = true --optional parameter , @messageOptions NVARCHAR (8) =N'Errora' --optional parameter WITH EXECUTE AS CALLER AS EXTERNAL NAME [SqlIterators].[SqlIterators.MSForEachReplacements].[ExecuteForEachTable]
Example usage:
EXECUTE master.dbo.ExecuteForEachDB 'SELECT ?, OBJECT_NAME(object_id) FROM sys.dm_db_partition_stats ; SELECT ?' , @messageOptions = 'Progress'; exec master.dbo.ExecuteForEachTable N'UPDATE STATISTICS ? WITH FULLSCAN,ALL' , @database = N'AdventureWorks' , @messageOptions = 'Errors'