...got tired of looking at them by hand.Cheers-bDECLARE @vcDB varchar(20),@vcSchema varchar(20),@vcTable varchar(200)Select @vcDB='mydb',@vcSchema='dbo'DECLARE cLoop cursor for select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_CATALOG=@vcDB and TABLE_SCHEMA=@vcSchema order by TABLE_NAME ASCopen cLoopFETCH NEXT FROM cLoop INTO @vcTableWHILE @@FETCH_STATUS=0 BEGIN if not exists (SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA = @vcSchema AND TABLE_NAME = @vcTable AND CONSTRAINT_TYPE = 'PRIMARY KEY') print @vcTable + ' does not have a primary key' FETCH NEXT FROM cLoop INTO @vcTable END Close cLoop DEALLOCATE cLoop