跟我一起学Microsoft SQL Server 2012 Internals(1.3)

目录

正确理解SQL Server元数据

每个SQL Server 实例(instance)在正确安装后,均可看到如下4个系统database:

master
model
msdb
tempdb

其中master包含了大量系统维护所需的基础信息表,即系统基表(system base tables),但需注意:这些系统基表不能通过SQL Server Management Studio直接查看,而需通过执行如下T-SQL方式查看;同时这些系统基表也不能直接使用(若直接select查询则会返回Msg 208错误提示),而需通过系统视图、系统函数等方式间接使用或者通过DAC(即Dedicated Admin Connection)连接查看使用

--通过目录视图sys.objects查看系统基表
USE master;
SELECT name FROM sys.objects
WHERE type_desc = 'SYSTEM_TABLE';

--通过系统存储过程sp_help查看系统基表(不推荐)
sp_help

下面我们尝试通过SQL Server Management Studio开启DAC,并通过SQL Server Management Studio建立DAC,然后正确查询系统基表。
1.右点击[SQL Server实例]-然后选择[方面(facets)]
方面

2.如下图所示,选择[外围应用配置器]-然后设置[remotedacenabled]为true,即开启远程DAC功能
开启DAC

3.打开SQL Server Management Studio,并选择[文件]-[新建]-[数据库引擎查询],然后在服务器名称填写:admin:完整计算机名\实例名,注意若SQL Server安装在windows域环境中,则此处应填写含域后缀的完整计算机名。
DAC

4.查询系统基表:sysiscols
查询系统基表

在通过sp_help查看SQL Server系统基表时,我们会看到很多系统视图与系统存储过程,这些其实都是SQL Server的元数据(metadata)。
SQL Server中的master不仅包含这些系统基表,还包含了主要如下6类元数据,方便SQL Server管理:

兼容性视图(Compatibility views)
目录视图(Catalog views)
动态管理对象(Dynamic Management Objects)
信息架构视图(Information schema views)
系统函数(System functions)
系统存储过程(System stored procedures)

其中动态管理对象又可分成:动态管理视图(DMVs)与动态管理函数。
若想简单区分上述各种类型的元数据,可查看文章”SQL Server 2012 Metadata“。

下图截取自《Microsoft SQL Server 2012 Internals》 - chapter 1,展示了SQL Server2012中各种元数据相互间的层次结构
元数据库

详细内容可查看SQL Server 2012 System Views Map

参考资料

  1. 《Microsoft SQL Server 2012 Internals》 - chapter 1

  2. System Base Tables
    https://msdn.microsoft.com/en-us/library/ms179503.aspx

  3. SQL Server 2012 System Views Map
    https://www.microsoft.com/en-us/download/details.aspx?id=39083

  4. SQL Server 2012 Metadata
    http://www.codeproject.com/Tips/892216/SQL-Server-Metadata

  5. How to: Use the Dedicated Administrator Connection with SQL Server Management Studio
    https://technet.microsoft.com/en-us/library/ms178068(v=sql.105).aspx

update by HyperWang at 2016/03/15

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值