sql server系统数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server系统数据库相关的知识,希望对你有一定的参考价值。
一、系统数据库表(master)
select * from sysaltfiles 主数据库,保存数据库的文件
select * from syscharsets 主数据库字符集与排序顺序
select * from sysconfigures 主数据库,配置选项
select * from syscurconfigs 主数据库当前配置选项
select * from sysdatabases 主数据库服务器中的数据库
select * from syslanguages 主数据库语言
select * from syslogins 主数据库,登陆帐号信息
select * from sysoledbusers 主数据库,链接服务器登陆信息
select * from sysprocesses 主数据库进程
select * from sysremotelogins 主数据库,远程登录帐号
select * from syscolumns 每个数据库列
select * from sysconstrains 每个数据库,限制
select * from sysfilegroups 每个数据库,文件组
select * from sysfiles 每个数据库,文件
select * from sysforeignkeys 每个数据库,外部关键字
select * from sysindexs 每个数据库,索引
select * from sysmenbers 每个数据库角色成员
select * from sysobjects 每个数据库所有数据库对象
select * from syspermissions 每个数据库,权限
select * from systypes 每个数据库,用户定义数据类型
select * from sysusers 每个数据库,用户
二、根据系统数据库查询到一些特别情况下需要的结果
1.获取某个表中的所有字段的名称和类型
select a.name as fieldname,b.type_desc,b.type,t.name as typename from sys.columns a
left join sys.objects b on a.object_id=b.object_id left join sys.types t on a.system_type_id=t.system_type_id
where b.type = ‘U‘ and charindex(‘UDT‘,t.name,0)<=0 and charindex(‘sys‘,t.name,0)<=0 and b.name =‘cf_user‘
其中b.type为类型,U表示是用户表,V表示是视图
2.查询某个表的字段列和说明
SELECT t.[name] AS 表名, c.[name] AS 字段名, cast(ep.[value] as nvarchar(200)) AS [字段说明]
FROM sys.tables AS t INNER JOIN sys.columns AS c ON t.object_id = c.object_id
LEFT JOIN sys.extended_properties AS ep ON ep.major_id = c.object_id
AND ep.minor_id = c.column_id WHERE ep.class =1 AND t.name=‘tbgExpended‘
3.查询某个字段在哪些表中存在
Select a.name as Columns, b.name as TableName from syscolumns a left
join sysobjects b on a.id = b.id Where b.type = ‘U‘ and a.name =‘ITEM_CATEGORY‘ order by b.name
以上是关于sql server系统数据库的主要内容,如果未能解决你的问题,请参考以下文章