Advertisement
ffarias

FILL_Other

Jul 15th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.01 KB | None | 0 0
  1. SELECT DB_NAME() AS Database_Name
  2. , sc.name AS Schema_Name
  3. , o.name AS Table_Name
  4. , o.type_desc
  5. , i.name AS Index_Name
  6. , i.type_desc AS Index_Type
  7. , i.fill_factor
  8. FROM sys.indexes i
  9. INNER JOIN sys.objects o ON i.object_id = o.object_id
  10. INNER JOIN sys.schemas sc ON o.schema_id = sc.schema_id
  11. WHERE i.name IS NOT NULL
  12. AND o.type = 'U'
  13. AND i.fill_factor not in (0, 100)
  14. ORDER BY i.fill_factor DESC, o.name
  15.  
  16.  
  17.  
  18. -------------------------
  19.  
  20.  
  21. CREATE PROCEDURE usp_tables_compress_report (@compress_method char(4))
  22. AS
  23. SET NOCOUNT ON
  24. BEGIN
  25. DECLARE @schema_name sysname, @table_name sysname
  26. CREATE TABLE #compress_report_tb
  27. (ObjName sysname,
  28. schemaName sysname,
  29. indx_ID int,
  30. partit_number int,
  31. size_with_current_compression_setting bigint,
  32. size_with_requested_compression_setting bigint,
  33. sample_size_with_current_compression_setting bigint,
  34. sample_size_with_requested_compression_setting bigint)
  35. DECLARE c_sch_tb_crs cursor for
  36. SELECT TABLE_SCHEMA,TABLE_NAME
  37. FROM INFORMATION_SCHEMA.TABLES
  38. WHERE TABLE_TYPE LIKE 'BASE%'
  39. AND TABLE_CATALOG = upper(db_name())
  40. OPEN c_sch_tb_crs
  41. FETCH NEXT FROM c_sch_tb_crs INTO @schema_name, @table_name
  42. WHILE @@Fetch_Status = 0
  43. BEGIN
  44. INSERT INTO #compress_report_tb
  45. EXEC sp_estimate_data_compression_savings
  46. @schema_name = @schema_name,
  47. @object_name = @table_name,
  48. @index_id = NULL,
  49. @partition_number = NULL,
  50. @data_compression = @compress_method
  51. FETCH NEXT FROM c_sch_tb_crs INTO @schema_name, @table_name
  52. END
  53. CLOSE c_sch_tb_crs
  54. DEALLOCATE c_sch_tb_crs
  55. SELECT schemaName AS [schema_name]
  56. , ObjName AS [table_name]
  57. , avg(size_with_current_compression_setting) as avg_size_with_current_compression_setting
  58. , avg(size_with_requested_compression_setting) as avg_size_with_requested_compression_setting
  59. , avg(size_with_current_compression_setting - size_with_requested_compression_setting) AS avg_size_saving
  60. FROM #compress_report_tb
  61. GROUP BY schemaName,ObjName
  62. ORDER BY schemaName ASC, avg_size_saving DESC
  63. DROP TABLE #compress_report_tb
  64. END
  65. SET NOCOUNT OFF
  66. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement