当前位置:首页 > 系统运维 > 正文内容

SQL Server系统视图与目录视图

a8116255316年前 (2010-07-14)系统运维11

以下的文章主要描述的是SQL Server系统视图,假如你在实际操作中遇到SQL Server系统视图况,但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友,以下的相关内容就是对SQL Server系统视图的介绍,望你能有所收获。

Title  : SQL Server系统视图

Title : SQL Server系统视图

Author : wufeng4552

Date : 2009-10-28

目录视图

目录视图返回 SQL Server 数据库引擎使用的信息。建议您使用目录视图这一最常用的目录元数据界面,它可为您提供最有效的 *** 来获取、转换并显示此信息的自定义形式。所有用户可用目录元数据都通过目录视图来显示。

注意:目录SQL Server系统视图不包含有关复制、备份、数据库维护计划或 SQL Server *** 目录数据的信息。

某些目录视图从其他目录视图继承行。例如,sys.tables 目录视图继承自 sys.objects 目录视图。sys.objects 目录视图称为基本视图,而 sys.tables 视图称为派生视图。sys.tables 目录视图返回专用于表的列,同时还返回 sys.objects 目录视图返回的所有列。

sys.objects 目录视图返回表之外的对象(例如,存储过程和SQL Server系统视图)的行。创建表之后,表的元数据将在两个视图中返回。尽管两个目录视图返回有关表的不同级别的信息,但在此表的元数据中只有一个具有一个名称和一个 object_id 的项。这可以总结如下:

基本视图包含列的子集和行的超集。

派生视图包含列的超集和行的子集。

SQL Server 中的目录视图具有如下类别:

更改跟踪目录视图 错误消息目录视图 CLR 程序集目录视图 对象目录视图

数据库和文件目录视图 分区函数目录视图 数据库邮件视图 基于策略的管理视图

数据库镜像目录视图 源调控器目录视图 数据收集器视图 标量类型目录视图

数据空间 架构目录视图 端点目录视图 安全性目录视图 扩展事件目录视图

Service Broker 目录视图 扩展属性目录视图 服务器范围配置目录视图

全文搜索目录视图 XML 架构(XML 类型系统)目录视图 链接服务器目录视图

信息架构视图

信息架构视图是 SQL Server 提供的几种获取元数据的 *** 之一。

注意:信息架构视图提供 SQL Server 元数据的独立于系统表的内部SQL Server系统视图。尽管已经对基础系统表进行了重要的修改,信息架构视图仍然可使应用程序正常工作。SQL Server 中包含的信息架构视图符合 INFORMATION_SCHEMA 的 ISO 标准定义

引用当前服务器时,SQL Server 支持三部分命名约定。ISO 标准也支持三部分命名约定。但是,两种命名约定中使用的名称并不相同。信息架构视图是在名为 INFORMATION_SCHEMA 的特殊架构中定义的。此架构包含在每个数据库中。每个信息架构视图均包含存储在特定数据库中的所有数据对象的元数据。下表显示了 SQL Server 名称和 SQL 标准名称之间的关系。

CHECK_CONstRAINTS ; REFERENTIAL_CONSTRAINTS COLUMN_DOMAIN_USAGE ;  ROUTINES ; COLUMN_PRIVILEGES ROUTINE_COLUMNS ;COLUMNS ;SCHEMATA ;  CONSTRAINT_COLUMN_USAGE TABLE_CONSTRAINTS ;CONSTRAINT_TABLE_USAGE ;  TABLE_PRIVILEGES DOMAIN_CONSTRAINTS ;TABLES ;DOMAINS ;  VIEW_COLUMN_USAGE KEY_COLUMN_USAGE ;VIEW_TABLE_USAGE ;PARAMETERS ;VIEWS  

此外,某些视图还包含对其他类的数据(如字符数据或二进制数据)的引用。引用信息架构SQL Server系统视图时,必须使用包含 INFORMATION_SCHEMA 架构名称的限定名。例如:

SELECT TABLE_CATALOG,  TABLE_SCHEMA,  TABLE_NAME,  COLUMN_NAME,  COLUMN_DEFAULT  FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS  WHERE TABLE_NAME = N'Product';  GO  

兼容性视图

SQL Server 早期版本中的许多系统表现在都作为一组视图实现。这些视图称为兼容性视图,仅用于向后兼容。兼容性视图公开的元数据在 SQL Server 2000 中也提供。但是,兼容性视图不公开与在 SQL Server 2005 及更高版本中引入的功能有关的任何元数据。

因此,当您使用新功能(例如 Service Broker 或分区)时,必须切换到使用目录视图。 升级到目录视图的另一个原因是,存储用户 ID 和类型 ID 的兼容性视图列可能返回 NULL 或触发算术溢出。这是因为您可以创建超过 32,767 个用户、组和角色,以及超过 32,767 种数据类型。

例如,假如要创建 32,768 个用户,则可运行以下查询:SELECT * FROM sys.sysusers。假如 ARITHABORT 设置为 ON,则查询会失败,并出现算术溢出错误。假如 ARITHABORT 设置为 OFF,则 uid 列返回 NULL。若要避免这些问题,建议您使用新增的目录视图,这些SQL Server系统视图可以处理增加的用户 ID 和类型 ID 数目。下表列出了会出现此溢出的列。

列名

兼容性视图

SQL Server 2005 视图

xusertype   syscolumns   sys.columns   usertype   syscolumns   sys.columns   memberuid   sy *** embers   sys.database_role_members   groupuid   sy *** embers   sys.database_role_members   uid   sysobjects   sys.objects   uid   sysprotects   · sys.database_permissions  

以上的相关内容就是对SQL Server系统视图与兼容性视图 的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21950.html

分享给朋友:

“SQL Server系统视图与目录视图” 的相关文章

如何删除自带的不常用应用为windows 7减负

如何删除自带的不常用应用为windows 7减负

对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

windows 7玩网游PING高即网络延时比较高的解决方法

windows 7玩网游PING高即网络延时比较高的解决方法

经常听见有人说用Windows 7玩网络游戏的时候网络延时比较高,也就是ping比平时xp的时候高一点,一直找不到原因,很苦恼。今天我们终于找到理由了,原来是Windows 7的一个服务在作怪,这个服务叫:Multimedia Class Scheduler,就是这个服务让我的PING如此高,问题是...

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...

Ubuntu系统上挂载U盘和Windows分区问题的解决实例

Ubuntu系统上挂载U盘和Windows分区问题的解决实例

Ubuntu挂载U盘问题 复制代码代码如下: 老是说special device /dev/sdb1 does not exist,无比郁闷 复制代码代码如下:#fdisk /dev/sda 复制代码代码如下: 是有个 这个咚咚。。。。 复制代码代码如下: 最后: 复制代码代码如下:...

windows 7如何将常用文件夹添加到任务栏以提高工作效率

windows 7如何将常用文件夹添加到任务栏以提高工作效率

每一位用户的Windows 7系统上,或多或少都会有一到两个自己常用的文件夹,那么如何将这些常用的文件夹添加到任务栏上,增加我们的工作效率呢 许多用户只知道移动exe程序文件到任务栏,却不知道文件夹怎么移,下面小编通过图文教程来告诉大家方法。 操作方法: 1、首先将你使用频率最高的那个文件夹重命...