国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server系統(tǒng)視圖

2019-11-03 08:36:23
字體:
供稿:網(wǎng)友

--> Title  : SQL Server系統(tǒng)視圖

--> Author : wufeng4552

--> Date   : 2009-10-28



目錄視圖

目錄視圖返回 SQL Server 數(shù)據(jù)庫引擎使用的信息。建議您使用目錄視圖這一最常用的目錄元數(shù)據(jù)界面,它可為您提供最有效的方法來獲取、轉(zhuǎn)換并顯示此信息的自定義形式。所有用戶可用目錄元數(shù)據(jù)都通過目錄視圖來顯示。

注意:目錄視圖不包含有關(guān)復(fù)制、備份、數(shù)據(jù)庫維護計劃或 SQL Server 代理目錄數(shù)據(jù)的信息。

某些目錄視圖從其他目錄視圖繼承行。例如,sys.tables 目錄視圖繼承自 sys.objects 目錄視圖。sys.objects 目錄視圖稱為基本視圖,而 sys.tables 視圖稱為派生視圖。sys.tables 目錄視圖返回專用于表的列,同時還返回 sys.objects 目錄視圖返回的所有列。sys.objects 目錄視圖返回表之外的對象(例如,存儲過程和視圖)的行。創(chuàng)建表之后,表的元數(shù)據(jù)將在兩個視圖中返回。盡管兩個目錄視圖返回有關(guān)表的不同級別的信息,但在此表的元數(shù)據(jù)中只有一個具有一個名稱和一個 object_id 的項。這可以總結(jié)如下:

基本視圖包含列的子集和行的超集。

派生視圖包含列的超集和行的子集。

SQL Server 中的目錄視圖具有如下類別:

更改跟蹤目錄視圖   錯誤消息目錄視圖   CLR 程序集目錄視圖  對象目錄視圖  

數(shù)據(jù)庫和文件目錄視圖  分區(qū)函數(shù)目錄視圖  數(shù)據(jù)庫郵件視圖 基于策略的管理視圖

數(shù)據(jù)庫鏡像目錄視圖  源調(diào)控器目錄視圖  數(shù)據(jù)收集器視圖  標量類型目錄視圖

數(shù)據(jù)空間  架構(gòu)目錄視圖  端點目錄視圖  安全性目錄視圖  擴展事件目錄視圖

Service Broker 目錄視圖  擴展屬性目錄視圖  服務(wù)器范圍配置目錄視圖

全文搜索目錄視圖  xml 架構(gòu)(XML 類型系統(tǒng))目錄視圖  鏈接服務(wù)器目錄視圖

信息架構(gòu)視圖

信息架構(gòu)視圖是 SQL Server 提供的幾種獲取元數(shù)據(jù)的方法之一。

注意:信息架構(gòu)視圖提供 SQL Server 元數(shù)據(jù)的獨立于系統(tǒng)表的內(nèi)部視圖。盡管已經(jīng)對基礎(chǔ)系統(tǒng)表進行了重要的修改,信息架構(gòu)視圖仍然可使應(yīng)用程序正常工作。SQL Server 中包含的信息架構(gòu)視圖符合 INFORMATION_SCHEMA 的 ISO 標準定義

引用當前服務(wù)器時,SQL Server 支持三部分命名約定。ISO 標準也支持三部分命名約定。但是,兩種命名約定中使用的名稱并不相同。信息架構(gòu)視圖是在名為 INFORMATION_SCHEMA 的特殊架構(gòu)中定義的。此架構(gòu)包含在每個數(shù)據(jù)庫中。每個信息架構(gòu)視圖均包含存儲在特定數(shù)據(jù)庫中的所有數(shù)據(jù)對象的元數(shù)據(jù)。下表顯示了 SQL Server 名稱和 SQL 標準名稱之間的關(guān)系。

SQL Server 名稱
對應(yīng)的 SQL 標準等價名稱

數(shù)據(jù)庫
目錄

架構(gòu)
架構(gòu)

對象
對象

用戶定義數(shù)據(jù)類型



上述名稱映射約定適用于以下與 ISO 兼容的 SQL Server 視圖。

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

此外,某些視圖還包含對其他類的數(shù)據(jù)(如字符數(shù)據(jù)或二進制數(shù)據(jù))的引用。引用信息架構(gòu)視圖時,必須使用包含 INFORMATION_SCHEMA 架構(gòu)名稱的限定名。例如:

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)表現(xiàn)在都作為一組視圖實現(xiàn)。這些視圖稱為兼容性視圖,僅用于向后兼容。兼容性視圖公開的元數(shù)據(jù)在 SQL Server 2000 中也提供。但是,兼容性視圖不公開與在 SQL Server 2005 及更高版本中引入的功能有關(guān)的任何元數(shù)據(jù)。因此,當您使用新功能(例如 Service Broker 或分區(qū))時,必須切換到使用目錄視圖。 升級到目錄視圖的另一個原因是,存儲用戶 ID 和類型 ID 的兼容性視圖列可能返回 NULL 或觸發(fā)算術(shù)溢出。這是因為您可以創(chuàng)建超過 32,767 個用戶、組和角色,以及超過 32,767 種數(shù)據(jù)類型。例如,如果要創(chuàng)建 32,768 個用戶,則可運行以下查詢:SELECT * FROM sys.sysusers。如果 ARITHABORT 設(shè)置為 ON,則查詢會失敗,并出現(xiàn)算術(shù)溢出錯誤。如果 ARITHABORT 設(shè)置為 OFF,則 uid 列返回 NULL。若要避免這些問題,建議您使用新增的目錄視圖,這些視圖可以處理增加的用戶 ID 和類型 ID 數(shù)目。下表列出了會出現(xiàn)此溢出的列。

列名
兼容性視圖
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

·                                 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


復(fù)制視圖

復(fù)制視圖

這些視圖包含 Microsoft SQL Server 中由復(fù)制使用的信息。 使用這些視圖可以更輕松地訪問復(fù)制系統(tǒng)表中的數(shù)據(jù)。將某個用戶數(shù)據(jù)庫啟用為發(fā)布數(shù)據(jù)庫或訂閱數(shù)據(jù)庫時,便會在該數(shù)據(jù)庫中創(chuàng)建視圖。 從復(fù)制拓撲中刪除用戶數(shù)據(jù)庫時,便會刪除該數(shù)據(jù)庫中的所有復(fù)制對象。 訪問復(fù)制元數(shù)據(jù)的首選方法是使用復(fù)制存儲過程。

任何用戶都不應(yīng)直接更改系統(tǒng)視圖。

動態(tài)管理視圖和函數(shù)

動態(tài)管理視圖和函數(shù)返回可用于監(jiān)視服務(wù)器實例的運行狀況、診斷故障以及優(yōu)化性能的服務(wù)器狀態(tài)信息。

動態(tài)管理視圖和函數(shù)返回特定于實現(xiàn)的內(nèi)部狀態(tài)數(shù)據(jù)。在未來的 SQL Server 版本中,它們的架構(gòu)和返回的數(shù)據(jù)可能會發(fā)生更改。因此,未來版本中的動態(tài)管理視圖和函數(shù)可能與 SQL Server 2008 中的動態(tài)管理視圖和函數(shù)不兼容

動態(tài)管理視圖和函數(shù)分為兩種類型:

服務(wù)器范圍內(nèi)的動態(tài)管理視圖和函數(shù)。此類型需要具有該服務(wù)器的 VIEW SERVER STATE 權(quán)限。

數(shù)據(jù)庫范圍內(nèi)的動態(tài)管理視圖和函數(shù)。此類型需要具有該數(shù)據(jù)庫的 VIEW DATABASE STATE 權(quán)限。

查詢動態(tài)管理視圖

通過使用兩部分、三部分或四部分所組成的名稱,可在 Transact-SQL 語句中引用動態(tài)管理視圖。另一方面,也可使用兩部分或三部分所組成的名稱在 Transact-SQL 語句中引用動態(tài)管理函數(shù)。不能使用只由一部分組成的名稱在 Transact-SQL 語句中引用動態(tài)管理視圖和函數(shù)。

所有動態(tài)管理視圖和函數(shù)都存在于 sys 架構(gòu)中,并遵循 dm_* 命名約定。當使用動態(tài)管理視圖或函數(shù)時,必須使用 sys 架構(gòu)作為視圖或函數(shù)名稱的前綴。例如,若要查詢 dm_os_wait_stats 動態(tài)管理視圖,請運行以下查詢:

SELECT wait_type,

       wait_time_ms

FROM sys.dm_os_wait_stats;

GO



所需的權(quán)限

查詢動態(tài)管理視圖或函數(shù)需要對于對象具有 SELECT 權(quán)限以及 VIEW SERVER STATE 或 VIEW DATABASE STATE 權(quán)限。這樣您可以有選擇地限制用戶或登錄名對動態(tài)管理視圖和函數(shù)的訪問。為此,首先在 master 中創(chuàng)建用戶,然后拒絕該用戶對不希望被訪問的動態(tài)管理視圖或函數(shù)的 SELECT 權(quán)限。此后,無論該用戶的數(shù)據(jù)庫上下文如何,用戶都將無法選擇這些動態(tài)管理視圖或函數(shù)。

注意:由于 DENY 的優(yōu)先級高,所以如果用戶被授予 VIEW SERVER STATE 權(quán)限但被拒絕 VIEW
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 翁源县| 来安县| 旬邑县| 周至县| 松滋市| 山东省| 阿坝县| 彩票| 蚌埠市| 桐梓县| 武城县| 惠州市| 临湘市| 托里县| 堆龙德庆县| 和硕县| 石屏县| 大丰市| 阜宁县| 镇雄县| 新巴尔虎左旗| 余江县| 特克斯县| 宜昌市| 云安县| 哈巴河县| 柳林县| 敖汉旗| 呼图壁县| 红桥区| 社会| 盐源县| 南川市| 苏尼特左旗| 揭阳市| 神池县| 富锦市| 淮滨县| 连山| 德阳市| 黄陵县|