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系统数据库的主要内容,如果未能解决你的问题,请参考以下文章

点餐系统数据库设计--SQL Server

SQL Server之备份和还原系统数据库

还原SQL SERVER系统库

SQL Server5个系统数据库

sql server系统数据库

sql server常用命令