[dba-Tech] SQL Question

Martin Reid mwp.reid at qub.ac.uk
Mon Jul 16 05:54:45 CDT 2018


We are running a script to delete a few million records from a CRM SQL Server. This bit is confusing us "While 1 =1" . We can't understand how this would ever evaluate to anything other than 1 =1?

IF EXISTS (SELECT name from sys.indexes
WHERE name = N'CRM_AsyncOperation_CleanupCompleted')
      DROP Index AsyncOperationBase.CRM_AsyncOperation_CleanupCompleted
GO
CREATE NONCLUSTERED INDEX CRM_AsyncOperation_CleanupCompleted
ON [dbo].[AsyncOperationBase] ([StatusCode],[StateCode],[OperationType])
GO

while(1=1)
begin

We also ran the full script for 34 hours and it ran successfully but turns out left 22million records undeleted all of which meet the deletion criteria!

It's a Microsoft script. Confusing.

Martin




More information about the dba-Tech mailing list