跟我一起学Microsoft SQL Server 2012 Internals(1.3)
2016-03-12 20:03
435 查看
目录
目录正确理解SQL Server元数据
参考资料
正确理解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)连接查看使用:
[code]--通过目录视图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功能
3.打开SQL Server Management Studio,并选择[文件]-[新建]-[数据库引擎查询],然后在服务器名称填写:admin:完整计算机名\实例名,注意若SQL Server安装在windows域环境中,则此处应填写含域后缀的完整计算机名。
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
参考资料
《Microsoft SQL Server 2012 Internals》 - chapter 1System Base Tables
https://msdn.microsoft.com/en-us/library/ms179503.aspx
SQL Server 2012 System Views Map
https://www.microsoft.com/en-us/download/details.aspx?id=39083
SQL Server 2012 Metadata
http://www.codeproject.com/Tips/892216/SQL-Server-Metadata
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
相关文章推荐
- SQL Server总结(2):对数据库访问
- SQL Server总结(1):程序和数据库的连接
- Mysql命令-以NULL做where条件过滤时应该写 IS NULL;
- 第二篇:数据库关系建模
- 跟我一起学Microsoft SQL Server 2012 Internals(1.2)
- mysql事务和锁InnoDB
- PowerDesigner 生成带凝视SQL 各个版本号通用10(12、15)
- MongoDB Database Profiler
- C#连接MySQL数据库实现DataGridView定时更新数据——多结果集返回
- 常用mysql命令
- mysql数据库连接小笔记----第一个
- MySQL集群
- mysql提高性能的最佳实践
- Nginx+Tomcat实现负载均衡、Redis实现Tomcat session会话共享
- 数据库学习:for xml path
- Mysql数据库备份与还原语法。
- Oracle 迁移至 MySQL 后 需要修改的SQL语句 小总结
- VPSMate 不能执行wget命令,不能安装MYSQL问题解决
- oracle外键约束表无法truncate
- MySQL · 引擎特性 · InnoDB文件系统管理(二)