SQL Server系统视图所包含的视图有哪些?

以下的文章主要描述的是SQL Server系统视图所包含的视图有哪些,在实际操作中SQL Server系统视图是我们经常要用到的,以下的文章就是对其相关内容的具体描述,望大家对其会有更好的了解。

SQL Server系统视图之目录视图

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

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

某些目录视图从其他目录视图继承行。例如,sys.tables 目录视图继承自 sys.objects 目录视图。sys.objects 目录视图称为基本视图,而 sys.tables 视图称为派生视图。sys.tables 目录视图返回专用于表的列,同时还返回 sys.objects 目录视图返回的所有列。sys.objects 目录视图返回表之外的对象(例如,存储过程和视图)的行。创建表之后,表的元数据将在两个视图中返回。尽管两个目录视图返回有关表的不同级别的信息,但在此表的元数据中只有一个具有一个名称和一个 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 标准名称之间的关系。

 

  1. CHECK_CONSTRAINTS ; REFERENTIAL_CONSTRAINTS COLUMN_DOMAIN_USAGE ;  
  2. ROUTINES ; COLUMN_PRIVILEGES ROUTINE_COLUMNS ;  
  3. COLUMNS ;SCHEMATA ;CONSTRAINT_COLUMN_USAGE TABLE_CONSTRAINTS ;  
  4. CONSTRAINT_TABLE_USAGE ;TABLE_PRIVILEGES DOMAIN_CONSTRAINTS ;  
  5. TABLES ;DOMAINS ;VIEW_COLUMN_USAGE KEY_COLUMN_USAGE ;  
  6. VIEW_TABLE_USAGE ;PARAMETERS ;VIEWS  

 

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

 

  1. SELECT TABLE_CATALOG,  
  2. TABLE_SCHEMA,  
  3. TABLE_NAME,  
  4. COLUMN_NAME,  
  5. COLUMN_DEFAULT  
  6. FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS  
  7. WHERE TABLE_NAME = N'Product';  
  8. GO  

 

SQL Server系统视图之兼容性视图

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。若要避免这些问题,建议您使用新增的目录视图,这些视图可以处理增加的用户 ID 和类型 ID 数目。下表列出了会出现此溢出的列。

列名

SQL Server系统视图之兼容性视图

 

SQL Server 2005 视图

 

 

  1. xusertype   
  2. syscolumns   
  3. sys.columns   
  4. usertype   
  5. syscolumns   
  6. sys.columns   
  7. memberuid   
  8. sysmembers   
  9. sys.database_role_members   
  10. groupuid   
  11. sysmembers   
  12. sys.database_role_members   
  13. uid   
  14. sysobjects   
  15. sys.objects   
  16. uid   
  17. sysprotects   
  18. · sys.database_permissions  

 

SQL Server系统视图时间:2009-10-29 13:48:05来源:网络 作者:未知 点击:322次

 

–> Title  : SQL Server系统视图

 

  1. ·                                 sys.server_permissions   
  2. grantor   
  3. sysprotects   
  4. ·                                 sys.database_permissions  
  5. ·                                 sys.server_permissions   
  6. xusertype   
  7. systypes   
  8. sys.types   
  9. uid   
  10. systypes   
  11. sys.types   
  12. uid   
  13. sysusers   
  14. sys.database_principals   
  15. altuid   
  16. sysusers   
  17. sys.database_principals   
  18. gid   
  19. sysusers   
  20. sys.database_principals   
  21. uid   
  22. syscacheobjects   
  23. sys.dm_exec_plan_attributes   
  24. uid   
  25. sysprocesses   
  26. sys.dm_exec_requests   

SQL Server系统视图之复制视图

这些视图包含 Microsoft SQL Server 中由复制使用的信息。 使用这些视图可以更轻松地访问复制系统表中的数据。将某个用户数据库启用为发布数据库或订阅数据库时,便会在该数据库中创建视图。 从复制拓扑中删除用户数据库时,便会删除该数据库中的所有复制对象。 访问复制元数据的首选方法是使用复制存储过程。

任何用户都不应直接更改系统视图。

动态管理视图和函数

动态管理视图和函数返回可用于监视服务器实例的运行状况、诊断故障以及优化性能的服务器状态信息。

动态管理视图和函数返回特定于实现的内部状态数据。在未来的 SQL Server 版本中,它们的架构和返回的数据可能会发生更改。因此,未来版本中的动态管理视图和函数可能与 SQL Server 2008 中的动态管理视图和函数不兼容

动态管理视图和函数分为两种类型:

服务器范围内的动态管理视图和函数。此类型需要具有该服务器的 VIEW SERVER STATE 权限。

数据库范围内的动态管理视图和函数。此类型需要具有该数据库的 VIEW DATABASE STATE 权限。

SQL Server系统视图之查询动态管理视图

通过使用两部分、三部分或四部分所组成的名称,可在 Transact-SQL 语句中引用动态管理视图。另一方面,也可使用两部分或三部分所组成的名称在 Transact-SQL 语句中引用动态管理函数。不能使用只由一部分组成的名称在 Transact-SQL 语句中引用动态管理视图和函数。

所有动态管理视图和函数都存在于 sys 架构中,并遵循 dm_* 命名约定。当使用动态管理视图或函数时,必须使用 sys 架构作为视图或函数名称的前缀。例如,若要查询 dm_os_wait_stats 动态管理视图,请运行以下查询:

 

  1. SELECT wait_type,  
  2. wait_time_ms  
  3. FROM sys.dm_os_wait_stats;  
  4. GO  

 

所需的权限

查询动态管理视图或函数需要对于对象具有 SELECT 权限以及 VIEW SERVER STATE 或 VIEW DATABASE STATE 权限。这样您可以有选择地限制用户或登录名对动态管理视图和函数的访问。为此,首先在 master 中创建用户,然后拒绝该用户对不希望被访问的动态管理视图或函数的 SELECT 权限。此后,无论该用户的数据库上下文如何,用户都将无法选择这些动态管理视图或函数。

注意:由于 DENY 的优先级高,所以如果用户被授予 VIEW SERVER STATE 权限但被拒绝 VIEW

【编辑推荐】

  1. SQL Server 2000全文检索的使用方案描述
  2. SQL Server 2005数据库安装实例演示
  3. SQL Server数据库在安装时的注意事项
  4. SQL Server合并复制性能的提高有哪些方案?
  5. SQL Serverlink Oracle的几种不同方式

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/268417.html<

(0)
管理的头像管理
上一篇2025-05-06 21:17
下一篇 2025-05-06 21:18

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注