新聞中心
以下的文章主要描述的是SQL Server系統(tǒng)視圖所包含的視圖有哪些,在實(shí)際操作中SQL Server系統(tǒng)視圖是我們經(jīng)常要用到的,以下的文章就是對(duì)其相關(guān)內(nèi)容的具體描述,望大家對(duì)其會(huì)有更好的了解。

SQL Server系統(tǒng)視圖之目錄視圖
目錄視圖返回 SQL Server 數(shù)據(jù)庫(kù)引擎使用的信息。建議您使用目錄視圖這一最常用的目錄元數(shù)據(jù)界面,它可為您提供最有效的方法來(lái)獲取、轉(zhuǎn)換并顯示此信息的自定義形式。所有用戶(hù)可用目錄元數(shù)據(jù)都通過(guò)目錄視圖來(lái)顯示。
注意:目錄視圖不包含有關(guān)復(fù)制、備份、數(shù)據(jù)庫(kù)維護(hù)計(jì)劃或 SQL Server 代理目錄數(shù)據(jù)的信息。
某些目錄視圖從其他目錄視圖繼承行。例如,sys.tables 目錄視圖繼承自 sys.objects 目錄視圖。sys.objects 目錄視圖稱(chēng)為基本視圖,而 sys.tables 視圖稱(chēng)為派生視圖。sys.tables 目錄視圖返回專(zhuān)用于表的列,同時(shí)還返回 sys.objects 目錄視圖返回的所有列。sys.objects 目錄視圖返回表之外的對(duì)象(例如,存儲(chǔ)過(guò)程和視圖)的行。創(chuàng)建表之后,表的元數(shù)據(jù)將在兩個(gè)視圖中返回。盡管兩個(gè)目錄視圖返回有關(guān)表的不同級(jí)別的信息,但在此表的元數(shù)據(jù)中只有一個(gè)具有一個(gè)名稱(chēng)和一個(gè) object_id 的項(xiàng)。這可以總結(jié)如下:
基本視圖包含列的子集和行的超集。
派生視圖包含列的超集和行的子集。
SQL Server 中的目錄視圖具有如下類(lèi)別:
更改跟蹤目錄視圖 錯(cuò)誤消息目錄視圖 CLR 程序集目錄視圖 對(duì)象目錄視圖
數(shù)據(jù)庫(kù)和文件目錄視圖 分區(qū)函數(shù)目錄視圖 數(shù)據(jù)庫(kù)郵件視圖 基于策略的管理視圖
數(shù)據(jù)庫(kù)鏡像目錄視圖 源調(diào)控器目錄視圖 數(shù)據(jù)收集器視圖 標(biāo)量類(lèi)型目錄視圖
數(shù)據(jù)空間 架構(gòu)目錄視圖 端點(diǎn)目錄視圖 安全性目錄視圖 擴(kuò)展事件目錄視圖
Service Broker 目錄視圖 擴(kuò)展屬性目錄視圖 服務(wù)器范圍配置目錄視圖
全文搜索目錄視圖 XML 架構(gòu)(XML 類(lèi)型系統(tǒng))目錄視圖 鏈接服務(wù)器目錄視圖
SQL Server系統(tǒng)視圖之信息架構(gòu)視圖
信息架構(gòu)視圖是 SQL Server 提供的幾種獲取元數(shù)據(jù)的方法之一。
注意:信息架構(gòu)視圖提供 SQL Server 元數(shù)據(jù)的獨(dú)立于系統(tǒng)表的內(nèi)部視圖。盡管已經(jīng)對(duì)基礎(chǔ)系統(tǒng)表進(jìn)行了重要的修改,信息架構(gòu)視圖仍然可使應(yīng)用程序正常工作。SQL Server 中包含的信息架構(gòu)視圖符合 INFORMATION_SCHEMA 的 ISO 標(biāo)準(zhǔn)定義
引用當(dāng)前服務(wù)器時(shí),SQL Server 支持三部分命名約定。ISO 標(biāo)準(zhǔn)也支持三部分命名約定。但是,兩種命名約定中使用的名稱(chēng)并不相同。信息架構(gòu)視圖是在名為 INFORMATION_SCHEMA 的特殊架構(gòu)中定義的。此架構(gòu)包含在每個(gè)數(shù)據(jù)庫(kù)中。每個(gè)信息架構(gòu)視圖均包含存儲(chǔ)在特定數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)對(duì)象的元數(shù)據(jù)。下表顯示了 SQL Server 名稱(chēng)和 SQL 標(biāo)準(zhǔn)名稱(chēng)之間的關(guān)系。
- 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
此外,某些視圖還包含對(duì)其他類(lèi)的數(shù)據(jù)(如字符數(shù)據(jù)或二進(jìn)制數(shù)據(jù))的引用。引用信息架構(gòu)視圖時(shí),必須使用包含 INFORMATION_SCHEMA 架構(gòu)名稱(chēng)的限定名。例如:
- SELECT TABLE_CATALOG,
- TABLE_SCHEMA,
- TABLE_NAME,
- COLUMN_NAME,
- COLUMN_DEFAULT
- FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_NAME = N'Product';
- GO
SQL Server系統(tǒng)視圖之兼容性視圖
SQL Server 早期版本中的許多系統(tǒng)表現(xiàn)在都作為一組視圖實(shí)現(xiàn)。這些視圖稱(chēng)為兼容性視圖,僅用于向后兼容。兼容性視圖公開(kāi)的元數(shù)據(jù)在 SQL Server 2000 中也提供。但是,兼容性視圖不公開(kāi)與在 SQL Server 2005 及更高版本中引入的功能有關(guān)的任何元數(shù)據(jù)。
因此,當(dāng)您使用新功能(例如 Service Broker 或分區(qū))時(shí),必須切換到使用目錄視圖。 升級(jí)到目錄視圖的另一個(gè)原因是,存儲(chǔ)用戶(hù) ID 和類(lèi)型 ID 的兼容性視圖列可能返回 NULL 或觸發(fā)算術(shù)溢出。這是因?yàn)槟梢詣?chuàng)建超過(guò) 32,767 個(gè)用戶(hù)、組和角色,以及超過(guò) 32,767 種數(shù)據(jù)類(lèi)型。
例如,如果要?jiǎng)?chuàng)建 32,768 個(gè)用戶(hù),則可運(yùn)行以下查詢(xún):SELECT * FROM sys.sysusers。如果 ARITHABORT 設(shè)置為 ON,則查詢(xún)會(huì)失敗,并出現(xiàn)算術(shù)溢出錯(cuò)誤。如果 ARITHABORT 設(shè)置為 OFF,則 uid 列返回 NULL。若要避免這些問(wèn)題,建議您使用新增的目錄視圖,這些視圖可以處理增加的用戶(hù) ID 和類(lèi)型 ID 數(shù)目。下表列出了會(huì)出現(xiàn)此溢出的列。
列名
SQL Server系統(tǒng)視圖之兼容性視圖
SQL Server 2005 視圖
- xusertype
- syscolumns
- sys.columns
- usertype
- syscolumns
- sys.columns
- memberuid
- sysmembers
- sys.database_role_members
- groupuid
- sysmembers
- sys.database_role_members
- uid
- sysobjects
- sys.objects
- uid
- sysprotects
- · sys.database_permissions
SQL Server系統(tǒng)視圖時(shí)間:2009-10-29 13:48:05來(lái)源:網(wǎng)絡(luò) 作者:未知 點(diǎn)擊:322次
--> Title : SQL Server系統(tǒng)視圖
- · sys.server_permissions
- grantor
- sysprotects
- · sys.database_permissions
- · sys.server_permissions
- xusertype
- systypes
- sys.types
- uid
- systypes
- sys.types
- uid
- sysusers
- sys.database_principals
- altuid
- sysusers
- sys.database_principals
- gid
- sysusers
- sys.database_principals
- uid
- syscacheobjects
- sys.dm_exec_plan_attributes
- uid
- sysprocesses
- sys.dm_exec_requests
SQL Server系統(tǒng)視圖之復(fù)制視圖
這些視圖包含 Microsoft SQL Server 中由復(fù)制使用的信息。 使用這些視圖可以更輕松地訪問(wèn)復(fù)制系統(tǒng)表中的數(shù)據(jù)。將某個(gè)用戶(hù)數(shù)據(jù)庫(kù)啟用為發(fā)布數(shù)據(jù)庫(kù)或訂閱數(shù)據(jù)庫(kù)時(shí),便會(huì)在該數(shù)據(jù)庫(kù)中創(chuàng)建視圖。 從復(fù)制拓?fù)渲袆h除用戶(hù)數(shù)據(jù)庫(kù)時(shí),便會(huì)刪除該數(shù)據(jù)庫(kù)中的所有復(fù)制對(duì)象。 訪問(wèn)復(fù)制元數(shù)據(jù)的首選方法是使用復(fù)制存儲(chǔ)過(guò)程。
任何用戶(hù)都不應(yīng)直接更改系統(tǒng)視圖。
動(dòng)態(tài)管理視圖和函數(shù)
動(dòng)態(tài)管理視圖和函數(shù)返回可用于監(jiān)視服務(wù)器實(shí)例的運(yùn)行狀況、診斷故障以及優(yōu)化性能的服務(wù)器狀態(tài)信息。
動(dòng)態(tài)管理視圖和函數(shù)返回特定于實(shí)現(xiàn)的內(nèi)部狀態(tài)數(shù)據(jù)。在未來(lái)的 SQL Server 版本中,它們的架構(gòu)和返回的數(shù)據(jù)可能會(huì)發(fā)生更改。因此,未來(lái)版本中的動(dòng)態(tài)管理視圖和函數(shù)可能與 SQL Server 2008 中的動(dòng)態(tài)管理視圖和函數(shù)不兼容
動(dòng)態(tài)管理視圖和函數(shù)分為兩種類(lèi)型:
服務(wù)器范圍內(nèi)的動(dòng)態(tài)管理視圖和函數(shù)。此類(lèi)型需要具有該服務(wù)器的 VIEW SERVER STATE 權(quán)限。
數(shù)據(jù)庫(kù)范圍內(nèi)的動(dòng)態(tài)管理視圖和函數(shù)。此類(lèi)型需要具有該數(shù)據(jù)庫(kù)的 VIEW DATABASE STATE 權(quán)限。
SQL Server系統(tǒng)視圖之查詢(xún)動(dòng)態(tài)管理視圖
通過(guò)使用兩部分、三部分或四部分所組成的名稱(chēng),可在 Transact-SQL 語(yǔ)句中引用動(dòng)態(tài)管理視圖。另一方面,也可使用兩部分或三部分所組成的名稱(chēng)在 Transact-SQL 語(yǔ)句中引用動(dòng)態(tài)管理函數(shù)。不能使用只由一部分組成的名稱(chēng)在 Transact-SQL 語(yǔ)句中引用動(dòng)態(tài)管理視圖和函數(shù)。
所有動(dòng)態(tài)管理視圖和函數(shù)都存在于 sys 架構(gòu)中,并遵循 dm_* 命名約定。當(dāng)使用動(dòng)態(tài)管理視圖或函數(shù)時(shí),必須使用 sys 架構(gòu)作為視圖或函數(shù)名稱(chēng)的前綴。例如,若要查詢(xún) dm_os_wait_stats 動(dòng)態(tài)管理視圖,請(qǐng)運(yùn)行以下查詢(xún):
- SELECT wait_type,
- wait_time_ms
- FROM sys.dm_os_wait_stats;
- GO
所需的權(quán)限
查詢(xún)動(dòng)態(tài)管理視圖或函數(shù)需要對(duì)于對(duì)象具有 SELECT 權(quán)限以及 VIEW SERVER STATE 或 VIEW DATABASE STATE 權(quán)限。這樣您可以有選擇地限制用戶(hù)或登錄名對(duì)動(dòng)態(tài)管理視圖和函數(shù)的訪問(wèn)。為此,首先在 master 中創(chuàng)建用戶(hù),然后拒絕該用戶(hù)對(duì)不希望被訪問(wèn)的動(dòng)態(tài)管理視圖或函數(shù)的 SELECT 權(quán)限。此后,無(wú)論該用戶(hù)的數(shù)據(jù)庫(kù)上下文如何,用戶(hù)都將無(wú)法選擇這些動(dòng)態(tài)管理視圖或函數(shù)。
注意:由于 DENY 的優(yōu)先級(jí)高,所以如果用戶(hù)被授予 VIEW SERVER STATE 權(quán)限但被拒絕 VIEW
網(wǎng)站標(biāo)題:SQLServer系統(tǒng)視圖所包含的視圖有哪些?
網(wǎng)頁(yè)地址:http://m.fisionsoft.com.cn/article/dhgdegs.html


咨詢(xún)
建站咨詢(xún)
