SQL server 数据基本查询(缓存清理和数据字典查询生成)

    技术2023-11-12  122

    --查询数据库中表的数据量 SELECT a.name,b.rows FROM sysobjects a INNER JOIN sysindexes b ON a.id=b.id WHERE b.indid IN(0,1) AND a.Type='u' ORDER BY b.rows desc --清除存储过程缓存 DBCC FREEPROCCACHE --清除会话缓存 DBCC FREESESSIONCACHE --清除系统缓存 DBCC FREESYSTEMCACHE('All') --清除所有缓存 DBCC DROPCLEANBUFFERS GO --打开高级配置 exec sp_configure'show advanced options', 1 GO --设置最大内存MB 2G exec sp_configure 'max server memory', 2048 EXEC ('RECONFIGURE' ) --设置执行时间 WAITFOR DELAY '00:00:10' --设置最大内存MB 20G EXEC sp_configure 'max server memory', 20480 EXEC ('RECONFIGURE' ) GO --关闭高级配置 exec sp_configure'show advanced options',0 GO ​ SET NOCOUNT ON DECLARE @TableName NVARCHAR (500) DECLARE Tbls CURSOR FOR SELECT DISTINCT tb.name FROM sys.tables as tb ORDER BY tb.name OPEN Tbls PRINT '<!DOCTYPE html>' PRINT '<html>' PRINT '<head>' PRINT N'<title>数据库字典</title>' PRINT '<style type="text/css">' PRINT 'body{margin:0; font:11pt "arial", "微软雅黑"; cursor:default;}' PRINT '.tableBox{margin:10px auto; padding:0px; width:1200px; height:auto; background:#FBF5E3; border:1px solid #45360A}' PRINT '.tableBox h3 {font-size:12pt; height:auto; line-height:30px; background:#45360A; padding:0px 0px 0px 15px; color:#FFF; margin:0px; text-align:left }' PRINT '.tableBox caption {font-size:12pt; height:auto; line-height:30px; background:#45360A; color: #FFF; text-align: center; font-weight: bold; }' PRINT '.tableBox table {width:1200px; padding:0px;border-spacing: 0; border-collapse: collapse;}' PRINT '.tableBox th {height:25px; border-top:1px solid #FFF; border-left:1px solid #FFF; background:#F7EBC8; border-right:1px solid #E0C889; border-bottom:1px solid #E0C889 }' PRINT '.tableBox td {height:25px; padding-left:10px; border-top:1px solid #FFF; border-left:1px solid #FFF; border-right:1px solid #E0C889; border-bottom:1px solid #E0C889 }' PRINT '</style>' PRINT '</head>' PRINT '<body>' FETCH NEXT FROM Tbls INTO @TableName WHILE @@FETCH_STATUS = 0 BEGIN PRINT '<div class="tableBox">' PRINT '<table>' PRINT N'<caption>表 ' + @TableName + '</caption>'; PRINT '<tr>' PRINT N'<th>字段名称</th>' PRINT N'<th>描述</th>' PRINT N'<th>主键</th>' PRINT N'<th>外键</th>' PRINT N'<th>类型</th>' PRINT N'<th>长度</th>' PRINT N'<th>数值精度</th>' PRINT N'<th>小数位数</th>' PRINT N'<th>允许为空</th>' PRINT N'<th>计算列</th>' PRINT N'<th>标识列</th>' PRINT N'<th>默认值</th>' SELECT '</tr><tr>', '<td>' + CAST (clmns.name AS VARCHAR (35)) + '</td>', '<td>' + ISNULL (CAST (exprop.value AS NVARCHAR (500)), '') + '</td>', '<td>' + CAST (ISNULL (idxcol.index_column_id, 0) AS VARCHAR (20)) + '</td>', '<td>' + CAST ( ISNULL ( (SELECT TOP 1 1 FROM sys.foreign_key_columns AS fkclmn WHERE fkclmn.parent_column_id = clmns.column_id AND fkclmn.parent_object_id = clmns.object_id), 0) AS VARCHAR (20)) + '</td>', '<td>' + CAST (udt.name AS CHAR (15)) + '</td>', '<td>' + CAST ( CAST ( CASE WHEN typ.name IN (N'nchar', N'nvarchar') AND clmns.max_length <> -1 THEN clmns.max_length / 2 ELSE clmns.max_length END AS INT) AS VARCHAR (20)) + '</td>', '<td>' + CAST (CAST (clmns.precision AS INT) AS VARCHAR (20)) + '</td>', '<td>' + CAST (CAST (clmns.scale AS INT) AS VARCHAR (20)) + '</td>', '<td>' + CAST (clmns.is_nullable AS VARCHAR (20)) + '</td>', '<td>' + CAST (clmns.is_computed AS VARCHAR (20)) + '</td>', '<td>' + CAST (clmns.is_identity AS VARCHAR (20)) + '</td>', '<td>' + isnull (CAST (cnstr.definition AS VARCHAR (20)), '') + '</td>' FROM sys.tables AS tbl LEFT JOIN sys.all_columns AS clmns ON clmns.object_id = tbl.object_id LEFT JOIN sys.indexes AS idx ON idx.object_id = clmns.object_id AND 1 = idx.is_primary_key LEFT JOIN sys.index_columns AS idxcol ON idxcol.index_id = idx.index_id AND idxcol.column_id = clmns.column_id AND idxcol.object_id = clmns.object_id AND 0 = idxcol.is_included_column LEFT JOIN sys.types AS udt ON udt.user_type_id = clmns.user_type_id LEFT JOIN sys.types AS typ ON typ.user_type_id = clmns.system_type_id AND typ.user_type_id = typ.system_type_id LEFT JOIN sys.default_constraints AS cnstr ON cnstr.object_id = clmns.default_object_id LEFT JOIN sys.extended_properties exprop ON exprop.major_id = clmns.object_id AND exprop.minor_id = clmns.column_id AND exprop.name = 'MS_Description' WHERE tbl.name = @TableName ORDER BY clmns.column_id ASC PRINT '</tr></table>' PRINT '</div>' FETCH NEXT FROM Tbls INTO @TableName END PRINT '</body></HTML>' CLOSE Tbls DEALLOCATE Tbls ​  
    Processed: 0.015, SQL: 9