USE [fxc]
--Note.   This is not a replacement for a DBA!!
--
--We recommend that you have a full backup of your SQL Database
--before running this script!
--

--Check DB Integrity  
ALTER DATABASE [fxc] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DBCC CHECKDB('fxc', REPAIR_REBUILD) 
GO
ALTER DATABASE [fxc] SET MULTI_USER;
GO
--Shrink Logs
ALTER DATABASE [fxc] SET RECOVERY SIMPLE WITH NO_WAIT
GO
DBCC SHRINKFILE (N'fxc_log' , 0, TRUNCATEONLY)
GO
/*
-- Removed 10/21 TRUNCATE TABLE dbo.fxtb_ErrLog
Delete 
from dbo.fxtb_ErrLog
where xCrDate < DATEADD(d,30, getdate())
GO
*/

WHILE EXISTS(SELECT * FROM dbo.fxtb_ErrLog WHERE xCrDate < DATEADD(d,30, getdate()))
BEGIN
    PRINT GETDATE()
    DELETE TOP (10000) FROM dbo.fxtb_ErrLog WHERE xCrDate < DATEADD(d,30, getdate())
    PRINT GETDATE()
END

/*
--   Removed 10/21TRUNCATE TABLE dbo.fxtb_ActionTrail_Logs
Delete 
from dbo.fxtb_ActionTrail_Logs
where xActionDate < DATEADD(d,30, getdate())
GO
*/
WHILE EXISTS(SELECT * FROM dbo.fxtb_ActionTrail_Logs WHERE xActionDate < DATEADD(d,30, getdate()))
BEGIN
    PRINT GETDATE()
    DELETE TOP (10000) FROM dbo.fxtb_ActionTrail_Logs WHERE xActionDate < DATEADD(d,30, getdate())
    PRINT GETDATE()
END

--Shrink Indexes
EXECUTE dbo.fxsp_Index_RebuildAndDeFrag "fxc";
GO
DBCC SHRINKFILE (N'fxc_xsys_index' , 0, NOTRUNCATE)
GO
DBCC SHRINKFILE (N'fxc_xsys_index' , 0, TRUNCATEONLY)
GO
DBCC SHRINKFILE (N'fxc_xuser_index' , 0, NOTRUNCATE)
GO
DBCC SHRINKFILE (N'fxc_xuser_index' , 0, TRUNCATEONLY)
GO
DBCC SHRINKDATABASE(N'fxc' )
GO
ALTER DATABASE [fxc] SET RECOVERY FULL WITH NO_WAIT
GO
