新聞中心
SQL Server系統(tǒng)表在SQL Server 2005這個(gè)版本中“消失”了,系統(tǒng)數(shù)據(jù)轉(zhuǎn)而存儲(chǔ)在“資源”表中,這個(gè)表只能被服務(wù)器自身直接訪(fǎng)問(wèn)。

SQL Server 2005中,SQL Server系統(tǒng)表不見(jiàn)了,取而代之的是系統(tǒng)視圖。是的。不見(jiàn)了。再也不需要對(duì)陌生的位進(jìn)行操作,也不需要找出神秘的編碼方案——這在過(guò)去都是必需的。對(duì)于你們中間需要對(duì)遺留下來(lái)的參考這些表的人來(lái)說(shuō),我知道你在想什么:無(wú)休止的機(jī)械的升級(jí)以保障與SQL Server 2005的兼容。但是還不要心生厭惡。系統(tǒng)中仍然存在類(lèi)似系統(tǒng)表的對(duì)象,就是為了向下兼容的目的。但是表的自身是——或者是實(shí)際上應(yīng)該是——被遺忘,像8-tracks 和 Tab一樣被投入了歷史的垃圾桶中。
那么這些表去了哪里呢?SQL Server 2005中的系統(tǒng)數(shù)據(jù)現(xiàn)在存儲(chǔ)在隱藏的“資源”表中,這個(gè)表只能被服務(wù)器自身直接訪(fǎng)問(wèn)。低級(jí)用戶(hù)(和數(shù)據(jù)庫(kù)管理員)必須使用新的一系列的分類(lèi)視圖,這些視圖顯示了從各種我們看不到也不能調(diào)用的隱藏表和各種隱藏函數(shù)中獲得的數(shù)據(jù)。以前版本的SQL Server 中的SQL Server系統(tǒng)表現(xiàn)在作為一系列所謂的(也相當(dāng)正確的)“兼容視圖”的形式實(shí)現(xiàn)。分類(lèi)視圖和它們的伙伴,動(dòng)態(tài)管理視圖(下面進(jìn)行解釋),代表了一種處理元數(shù)據(jù)的方式,這些元數(shù)據(jù)是完全重新設(shè)計(jì)和重新思考出來(lái)的。沒(méi)有了那些只會(huì)給數(shù)據(jù)庫(kù)管理員一些底層數(shù)據(jù)的微小感覺(jué)的神秘的表,現(xiàn)在的SQL Server提供了豐富的資源:SQL Server 2005中有超過(guò)200個(gè)分類(lèi)和管理視圖,取代了以前版本中大約50個(gè)的SQL Server系統(tǒng)表。所有這些視圖都可以在系統(tǒng)計(jì)劃中找到。(計(jì)劃是在SQL Server 2005中大大擴(kuò)展了的安全特性。但是這是另一篇貼士的話(huà)題。)要看到可用視圖的完全列表,SQL Server Management Studio擴(kuò)展了所有數(shù)據(jù)庫(kù)的系統(tǒng)視圖樹(shù)?;蛘咄ㄟ^(guò)T-SQL 從視圖自身選擇一個(gè)列表,并找出友好的易于理解的名字:
SELECT name FROM sys.all_views WHERE is_ms_shipped = 1
你還會(huì)發(fā)現(xiàn)再也不需要通過(guò)瀏覽文檔來(lái)查找有關(guān)做某件關(guān)系系統(tǒng)數(shù)據(jù)的事情的線(xiàn)索。這些視圖都有很明確的自我解釋。有關(guān)視圖名字的一些線(xiàn)索如下:那些前綴是dm_的是動(dòng)態(tài)管理視圖,通過(guò)類(lèi)似當(dāng)前會(huì)話(huà)、鎖,以及系統(tǒng)資源的信息表示服務(wù)器的正在改變的狀態(tài)。其他的視圖都可以認(rèn)為是分類(lèi)視圖。那些前綴是all_的包含了有關(guān)系統(tǒng)對(duì)象(例如視圖)和用戶(hù)定義的對(duì)象的信息。那些沒(méi)有all_前綴的只包含了用戶(hù)定義的對(duì)象的信息。在那些包括了系統(tǒng)對(duì)象的視圖中,is_ms_shipping字段可用于區(qū)分用戶(hù)定義對(duì)象和系統(tǒng)對(duì)象。如果is_ms_shipped字段的值為1,則這一行代表了一個(gè)系統(tǒng)對(duì)象,否則,就是用戶(hù)定義的對(duì)象。
***,讓我們檢查一些你可以從分類(lèi)視圖中獲得數(shù)據(jù)類(lèi)型。對(duì)于初學(xué)者,所有常見(jiàn)的內(nèi)容都可以獲得。例如:查看索引中的數(shù)據(jù),使用sys.indexes,而不是原先的sysindexes——奇怪的是,現(xiàn)在稱(chēng)之為sys.sysindexes。對(duì)于約束,試試sys.check_constraints, sys.default_constraints, 或者 sys.key_constraints??闯鲞@個(gè)趨勢(shì)了嗎? 哪怕是沒(méi)有簡(jiǎn)單的提到一句有關(guān)新的動(dòng)態(tài)管理視圖的話(huà),都是不完整的。這些視圖是SQL Server存儲(chǔ)新的元數(shù)據(jù)的強(qiáng)有力的工具,它們可以幫助數(shù)據(jù)庫(kù)管理員快速解決問(wèn)題并分析服務(wù)器的性能。其中的一些明星選手,包括sys.dm_exec_query_stats,用來(lái)報(bào)告查詢(xún)要求了多少個(gè)處理器時(shí)間;以及sys.dm_db_index_usage_stats,用來(lái)幫助數(shù)據(jù)庫(kù)管理員決定哪一個(gè)索引是最有用的,哪些是沒(méi)有用的。
對(duì)于這個(gè)巨大的元數(shù)據(jù)視圖集合,還有更多的話(huà)需要說(shuō)。但是現(xiàn)在,可以看看最近由微軟發(fā)布在網(wǎng)上的beta版的SQL Server 2005在線(xiàn)書(shū)籍。系統(tǒng)視圖主題提供了對(duì)這個(gè)強(qiáng)大的新的數(shù)據(jù)倉(cāng)庫(kù)的能力的整體描述。
【編輯推薦】
帶您了解SQL Server系統(tǒng)視圖
SQL Server查詢(xún)表結(jié)構(gòu)的實(shí)現(xiàn)
SQL Server視圖的四大優(yōu)點(diǎn)
教您如何定義SQL Server游標(biāo)
SQL Server查詢(xún)語(yǔ)句的設(shè)計(jì)
名稱(chēng)欄目:SQLServer2005中“消失”的SQLServer系統(tǒng)表
瀏覽地址:http://fisionsoft.com.cn/article/cdigcsi.html


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