Advertisement
aduran

Untitled

Feb 21st, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. DECLARE @ownername SYSNAME
  2. DECLARE @tablename SYSNAME
  3. DECLARE @indexname SYSNAME
  4. DECLARE @sql NVARCHAR(4000)
  5. DECLARE dropindexes CURSOR FOR
  6.  
  7. SELECT indexes.name, objects.name, schemas.name
  8. FROM sys.indexes
  9. JOIN sys.objects ON indexes.OBJECT_ID = objects.OBJECT_ID
  10. JOIN sys.schemas ON objects.schema_id = schemas.schema_id
  11. WHERE indexes.index_id > 0
  12. AND indexes.index_id < 255
  13. AND objects.is_ms_shipped = 0
  14. AND NOT EXISTS (SELECT 1 FROM sys.objects WHERE objects.name = indexes.name)
  15. ORDER BY objects.OBJECT_ID, indexes.index_id DESC
  16.  
  17.  
  18. SELECT * FROM sys.stats
  19. OPEN dropindexes
  20. FETCH NEXT FROM dropindexes INTO @indexname, @tablename, @ownername
  21. WHILE @@fetch_status = 0
  22. BEGIN
  23. SET @sql = N'DROP INDEX '+QUOTENAME(@ownername)+'.'+QUOTENAME(@tablename)+'.'+QUOTENAME(@indexname)
  24. PRINT @sql
  25. EXEC sp_executesql @sql
  26. FETCH NEXT FROM dropindexes INTO @indexname, @tablename, @ownername
  27. END
  28. CLOSE dropindexes
  29. DEALLOCATE dropindexes
  30.  
  31. GO
  32. DECLARE @ownername SYSNAME
  33. DECLARE @tablename SYSNAME
  34. DECLARE @statsname SYSNAME
  35. DECLARE @sql NVARCHAR(4000)
  36. DECLARE dropstats CURSOR FOR
  37.  
  38. SELECT stats.name, objects.name, schemas.name
  39. FROM sys.stats
  40. JOIN sys.objects ON stats.OBJECT_ID = objects.OBJECT_ID
  41. JOIN sys.schemas ON objects.schema_id = schemas.schema_id
  42. WHERE stats.stats_id > 0
  43. AND stats.stats_id < 255
  44. AND objects.is_ms_shipped = 0
  45. ORDER BY objects.OBJECT_ID, stats.stats_id DESC
  46.  
  47. OPEN dropstats
  48. FETCH NEXT FROM dropstats INTO @statsname, @tablename, @ownername
  49. WHILE @@fetch_status = 0
  50. BEGIN
  51. SET @sql = N'DROP STATISTICS '+QUOTENAME(@ownername)+'.'+QUOTENAME(@tablename)+'.'+QUOTENAME(@statsname)
  52. EXEC sp_executesql @sql
  53. --PRINT @sql
  54. FETCH NEXT FROM dropstats INTO @statsname, @tablename, @ownername
  55. END
  56. CLOSE dropstats
  57. DEALLOCATE dropstats
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement