Table of contents
1. The data dictionary method of generating the web version of the SQL data table
3. Query the existence of data tables and data volume in the database
5. Database table relationship query
1. The data dictionary method of generating the web version of the SQL data table
Execute the following SQl, output the data result in text format, copy it to Txt, remove the dotted line, and modify the suffix name to Html
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
2. SQL cache cleanup
--清除存储过程缓存
DBCC FREEPROCCACHE
--清除会话缓存
DBCC FREESESSIONCACHE
--清除系统缓存
DBCC FREESYSTEMCACHE('All')
--清除所有缓存
DBCC DROPCLEANBUFFERS
GO
3. Query the existence of data tables and data volume in the database
--查询数据库中表的数据量
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
4. Database memory settings
--打开高级配置
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
5. Database table relationship query
SELECT
fk.name 'FK Name',
tp.name 'Parent table',
cp.name, cp.column_id,
tr.name 'Refrenced table',
cr.name, cr.column_id
FROM
sys.foreign_keys fk
INNER JOIN
sys.tables tp ON fk.parent_object_id = tp.object_id
INNER JOIN
sys.tables tr ON fk.referenced_object_id = tr.object_id
INNER JOIN
sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN
sys.columns cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id
INNER JOIN
sys.columns cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id
ORDER BY
tp.name, cp.column_id