Advertisement
giammin

Db diagnostic query collection

Jul 12th, 2012
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.74 KB | None | 0 0
  1. --sql error logs
  2. EXEC sys.xp_readerrorlog 0, 1
  3.  
  4. -- System Stored Procedures list
  5. -- http://msdn.microsoft.com/en-us/library/ms187961.aspx
  6.  
  7. --server info
  8. EXEC xp_msver
  9.  
  10. --count dbs
  11. select count(1) from sysdatabases
  12.  
  13. --Find the active SQL connections
  14. select db_name(dbid) as [Database Name], count(dbid) as [No Of Connections], loginame as [Login Name]
  15. from sys.sysprocesses
  16. where dbid > 0
  17. group by  dbid, loginame
  18.  
  19.  
  20. --iterate table or db
  21. EXECUTE master.sys.sp_MSforeachdb 'USE [?]; EXEC sp_spaceused'
  22. exec sp_MSForEachTable
  23.  
  24.  
  25. --check and set auto_close
  26. ALTER DATABASE [dbname] SET AUTO_CLOSE Off WITH NO_WAIT
  27. SELECT DATABASEPROPERTYEX('dbname', 'IsAutoClose');
  28. EXEC sp_MSforeachdb 'ALTER DATABASE [?] SET AUTO_CLOSE Off WITH NO_WAIT'
  29.  
  30.  
  31. --query constrain enable, disable, delete
  32. EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
  33. EXEC sp_msforeachtable "IF((SELECT OBJECTPROPERTY( OBJECT_ID(N'?'), 'TableHasIdentity')) = 1) SET IDENTITY_INSERT ? ON"
  34.  
  35.  
  36. EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
  37. EXEC sp_msforeachtable "IF((SELECT OBJECTPROPERTY( OBJECT_ID(N'?'), 'TableHasIdentity')) = 1) SET IDENTITY_INSERT ? OFF"
  38.  
  39. DECLARE @sql nvarchar(255)
  40. while (select COUNT(CONSTRAINT_NAME) from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_SCHEMA = 'SCHEMANAME' and CONSTRAINT_TYPE ='FOREIGN KEY' and CONSTRAINT_CATALOG='DBNAME')>0
  41. Begin
  42. select top 1 @sql='ALTER TABLE ' + CONSTRAINT_CATALOG+'.'+TABLE_SCHEMA + '.'+ TABLE_NAME + ' DROP CONSTRAINT ['+ CONSTRAINT_NAME + ']'
  43. from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
  44. where CONSTRAINT_SCHEMA = 'SCHEMANAME' and CONSTRAINT_CATALOG='DBNAME' and CONSTRAINT_TYPE ='FOREIGN KEY'
  45. exec sp_executesql @sql
  46. end
  47.  
  48.  
  49.  
  50. --Maximum length of data in every column in a table
  51. /*LEN function */
  52. USE AdventureWorks2008R2
  53.  
  54. --declare @TableName sysname = 'Employee', @TableSchema sysname = 'HumanResources'
  55. DECLARE @TableName sysname = 'Address', @TableSchema sysname = 'Person'
  56. DECLARE @SQL NVARCHAR(MAX)
  57.  
  58. SELECT @SQL = STUFF((SELECT
  59. '
  60. UNION ALL
  61. select ' + QUOTENAME(Table_Name,'''') + ' AS Table_Name, ' +
  62. QUOTENAME(Column_Name,'''') + ' AS ColumnName, MAX(LEN(' + QUOTENAME(Column_Name) +
  63. ')) as [Max Length], ' + QUOTENAME(C.DATA_TYPE,'''') + ' AS Data_Type, ' +
  64. CAST(COALESCE(C.CHARACTER_MAXIMUM_LENGTH, C.NUMERIC_SCALE,0) AS VARCHAR(10)) +
  65. '  AS Data_Width FROM ' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(Table_Name)
  66. FROM INFORMATION_SCHEMA.COLUMNS C
  67. WHERE TABLE_NAME = @TableName
  68. AND table_schema = @TableSchema
  69. AND DATA_TYPE NOT IN ('text','ntext','XML','HierarchyID','Geometry','Geography')
  70. ORDER BY COLUMN_NAME
  71. FOR XML PATH(''),Type).value('.','varchar(max)'),1,11,'')  
  72. --print @SQL
  73. EXECUTE (@SQL)
  74.  
  75.  
  76. /*DATALENGTH function*/
  77.  
  78. USE AdventureWorks2008R2
  79. --declare @TableName sysname = 'Employee', @TableSchema sysname = 'HumanResources'
  80. DECLARE @TableName sysname = 'Address', @TableSchema sysname = 'Person'
  81. DECLARE @SQL NVARCHAR(MAX)
  82.  
  83. SELECT @SQL = STUFF((SELECT
  84. '
  85. UNION ALL
  86. select ' + QUOTENAME(Table_Name,'''') + ' AS Table_Name, ' +
  87. QUOTENAME(Column_Name,'''') + ' AS ColumnName, MAX(' +
  88. CASE WHEN DATA_TYPE IN ('XML','HierarchyID','Geometry','Geography','text','ntext')
  89.      THEN 'DATALENGTH(' ELSE 'LEN(' END + QUOTENAME(Column_Name) +
  90. ')) as [Max Length], ' + QUOTENAME(C.DATA_TYPE,'''') + ' AS Data_Type, ' +
  91. CAST(COALESCE(C.CHARACTER_MAXIMUM_LENGTH, C.NUMERIC_SCALE,0) AS VARCHAR(10)) +
  92. '  AS Data_Width FROM ' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(Table_Name)
  93. FROM INFORMATION_SCHEMA.COLUMNS C
  94. WHERE TABLE_NAME = @TableName
  95. AND table_schema = @TableSchema
  96. --AND DATA_TYPE NOT IN ('XML','HierarchyID','Geometry','Geography')
  97. ORDER BY COLUMN_NAME
  98. FOR XML PATH(''),Type).value('.','varchar(max)'),1,11,'')  
  99. --print @SQL
  100. EXECUTE (@SQL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement