ALTER PROCEDURE [dbo].[RemoveOldVersions] AS BEGIN TRUNCATE TABLE Nodes TRUNCATE TABLE Versions INSERT INTO [Nodes] SELECT [N].[id] FROM [umbracoNode] [N] INNER JOIN [cmsDocument] [D] ON [N].[ID] = [D].[NodeId] WHERE [nodeObjectType] = 'C66BA18E-EAF3-4CFF-8A22-41B16D66A972' AND [path] NOT LIKE '%-20%' AND [D].[Published] = 1 deletemorecpd: DECLARE @cpdCount INT = ( SELECT COUNT(*) FROM [cmsPropertyData] WHERE [VersionId] IN ( SELECT [versionId] FROM [YOURDB].[dbo].[cmsPropertyData] WHERE [versionId] NOT IN ( SELECT [versionId] FROM [YOURDB].[dbo].[cmsDocument] ) AND [contentNodeId] IN ( SELECT [N].[id] FROM [umbracoNode] [N] WHERE [nodeObjectType] = 'C66BA18E-EAF3-4CFF-8A22-41B16D66A972' AND [path] NOT LIKE '%-20%' ) ) ) PRINT 'Property Data Rows To Process ' + CAST(@cpdCount AS VARCHAR) DELETE TOP (10000) FROM [cmsPropertyData] WHERE [VersionId] IN ( SELECT TOP 10000 [versionId] FROM [YOURDB].[dbo].[cmsPropertyData] WHERE [versionId] NOT IN ( SELECT [versionId] FROM [YOURDB].[dbo].[cmsDocument] ) AND [contentNodeId] IN ( SELECT [N].[id] FROM [umbracoNode] [N] WHERE [nodeObjectType] = 'C66BA18E-EAF3-4CFF-8A22-41B16D66A972' AND [path] NOT LIKE '%-20%' ) ) IF @@ROWCOUNT != 0 BEGIN PRINT 'Property Data Rows Left ' + CAST(@@ROWCOUNT AS VARCHAR) goto deletemorecpd END deletemorecpd2: DECLARE @cpdCount2 INT = ( SELECT COUNT(*) FROM [cmsPropertyData] WHERE [VersionId] IN ( SELECT [versionId] FROM [cmsDocument] WHERE [nodeId] IN ( SELECT [id] FROM [Nodes] ) AND [published] = 0 AND [newest] = 0 ) ) PRINT 'Property Data 2 Rows To Process ' + CAST(@cpdCount2 AS VARCHAR) DELETE TOP (10000) FROM [cmsPropertyData] WHERE [VersionId] IN ( SELECT [versionId] FROM [cmsDocument] WHERE [nodeId] IN ( SELECT [id] FROM [Nodes] ) AND [published] = 0 AND [newest] = 0 ) IF @@ROWCOUNT != 0 BEGIN PRINT 'Property Data 2 Rows Left ' + CAST(@@ROWCOUNT AS VARCHAR) goto deletemorecpd2 END deletemorecpx: DECLARE @cpxCount INT = (SELECT COUNT(*) FROM [cmsPreviewXml] WHERE [VersionId] IN (SELECT [id] FROM [Versions])) PRINT 'Preview XML Rows To Process ' + CAST(@cpxCount AS VARCHAR) DELETE TOP(10000) FROM [cmsPreviewXml] WHERE [VersionId] IN (SELECT id FROM [Versions]) IF @@ROWCOUNT != 0 BEGIN PRINT 'Preview XML Rows Left ' + CAST(@@ROWCOUNT AS VARCHAR) goto deletemorecpx END deletemorecpv: DECLARE @ccvCount INT = (SELECT COUNT(*) FROM [cmsPreviewXml] WHERE [VersionId] IN (SELECT [id] FROM [Versions])) PRINT 'Content Version Rows To Process ' + CAST(@ccvCount AS VARCHAR) DELETE TOP(10000) FROM [cmsContentVersion] WHERE [VersionId] IN (SELECT [id] FROM [Versions]) IF @@ROWCOUNT != 0 BEGIN PRINT 'Content Version Rows Left ' + CAST(@@ROWCOUNT AS VARCHAR) goto deletemorecpv END deletemorecd: DECLARE @cdCount INT = (SELECT COUNT(*) FROM [cmsDocument] WHERE [VersionId] IN (SELECT id FROM [Versions])) PRINT 'Document Rows To Process ' + CAST(@cdCount AS VARCHAR) DELETE TOP(10000) FROM [cmsDocument] WHERE [VersionId] IN (SELECT [id] FROM [Versions]) IF @@ROWCOUNT != 0 BEGIN PRINT 'Document Rows Left ' + CAST(@@ROWCOUNT AS VARCHAR) goto deletemorecd END END