Updation of Statistics
-----------------------
The following script is used for update statistics either partial or full for each table based on day of the week.We are using this in our production.
DECLARE @dw INT
-- @lastrundate VARCHAR(10),, @Isexecute BIT
SELECT @dw = DATEPART(DW,GETDATE())
--SET @Isexecute = 1
IF (@dw = 6 or @dw =7 ) -- if Thursday night or Friday night
--IF (@dw = 1 ) -- if sunday
BEGIN
--SELECT @lastrundate = last_run_date FROM msdb.dbo.sysjobsteps WHERE Job_id = 'C6D5BFD5-61E4-4169-A0C0-D2C163AD69BE' AND step_id = 1
-- IF (@dw = 1 AND (@lastrundate = CONVERT(VARCHAR,GETDATE(),112)) ) -- If saturday and rebuild of index matched with statistics job same day
-- BEGIN
-- SET @Isexecute = 0
-- END
-- ELSE IF (@dw = 1 AND (@lastrundate <> CONVERT(VARCHAR,GETDATE(),112)) )
-- BEGIN
-- SET @Isexecute = 0
-- END
--END
--IF (@Isexecute = 1)
--BEGIN
--- UPDATION OF STATISTICS
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET ARITHABORT ON
SET CONCAT_NULL_YIELDS_NULL ON
SET QUOTED_IDENTIFIER ON
SET NUMERIC_ROUNDABORT OFF
--PRINT 'UPDATE STATITSTICS WITH FULL SCAN'
EXEC sp_MSForeachtable "UPDATE STATISTICS ? WITH FULLSCAN"
END
Else
Begin
EXEC sp_updatestats
End
No comments:
Post a Comment