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

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

SQL Server 2005:向系統(tǒng)表說再見

2024-08-31 00:49:31
字體:
供稿:網(wǎng)友
微軟的sql server 數(shù)據(jù)庫管理員 ,快快想一下!在不使用任何的文檔的情況下,編寫一個查詢,從sql server 2000系統(tǒng)表中抽取索引的列表,然后列舉每個索引中的字段,并判斷這個字段是否按照升序或者降序進(jìn)行排序。你有兩分鐘的時間??? 
  如果你現(xiàn)在真的停下閱讀,開始用必不可少的兩分鐘時間思考這項(xiàng)不討好的任務(wù),那么現(xiàn)在你就陷入了一個大麻煩中,這里面涉及了系統(tǒng)索引、系統(tǒng)索引關(guān)鍵字,系統(tǒng)字段,以及一些元數(shù)據(jù)函數(shù),其中包括類似object_name 和indexkey_property這樣的備用信息。到現(xiàn)在為止,要編寫這樣的一個查詢很明顯要花費(fèi)遠(yuǎn)遠(yuǎn)超過2分鐘的時間了。
  不幸的sql server 2000數(shù)據(jù)庫管理員們,需要瀏覽深奧的系統(tǒng)表,這是這項(xiàng)使用數(shù)據(jù)庫管理系統(tǒng)的工作中最糟糕的一部分。系統(tǒng)表,通常是有效率的,但是在我的印象里,它可從來不是為了用戶友好設(shè)計(jì)的。
  幸運(yùn)的是,眼前就有了救星。在sql server 2005中,系統(tǒng)表不見了。是的。不見了。再也不需要對陌生的位進(jìn)行操作,也不需要找出神秘的編碼方案——這在過去都是必需的。對于你們中間需要對遺留下來的參考這些表的人來說,我知道你在想什么:無休止的機(jī)械的升級以保障與sql server 2005的兼容。但是還不要心生厭惡。系統(tǒng)中仍然存在類似系統(tǒng)表的對象,就是為了向下兼容的目的。但是表的自身是——或者是實(shí)際上應(yīng)該是——被遺忘,像8-tracks 和 tab一樣被投入了歷史的垃圾桶中。
  那么這些表去了哪里呢?sql server 2005中的系統(tǒng)數(shù)據(jù)現(xiàn)在存儲在隱藏的“資源”表中,這個表只能被服務(wù)器自身直接訪問。低級用戶(和數(shù)據(jù)庫管理員)必須使用新的一系列的分類視圖,這些視圖顯示了從各種我們看不到也不能調(diào)用的隱藏表和各種隱藏函數(shù)中獲得的數(shù)據(jù)。以前版本的sql server 中的系統(tǒng)表現(xiàn)在作為一系列所謂的(也相當(dāng)正確的)“兼容視圖”的形式實(shí)現(xiàn)。
  分類視圖和它們的伙伴,動態(tài)管理視圖(下面進(jìn)行解釋),代表了一種處理元數(shù)據(jù)的方式,這些元數(shù)據(jù)是完全重新設(shè)計(jì)和重新思考出來的。沒有了那些只會給數(shù)據(jù)庫管理員一些底層數(shù)據(jù)的微小感覺的神秘的表,現(xiàn)在的sql server提供了豐富的資源:sql server 2005中有超過200個分類和管理視圖,取代了以前版本中大約50個的系統(tǒng)表。
  所有這些視圖都可以在系統(tǒng)計(jì)劃中找到。(計(jì)劃是在sql server 2005中大大擴(kuò)展了的安全特性。但是這是另一篇貼士的話題。)要看到可用視圖的完全列表,sql server management studio擴(kuò)展了所有數(shù)據(jù)庫的系統(tǒng)視圖樹。或者通過t-sql 從視圖自身選擇一個列表,并找出友好的易于理解的名字:
  select name
  from sys.all_views
  where is_ms_shipped = 1
  你還會發(fā)現(xiàn)再也不需要通過瀏覽文檔來查找有關(guān)做某件關(guān)系系統(tǒng)數(shù)據(jù)的事情的線索。這些視圖都有很明確的自我解釋。
  有關(guān)視圖名字的一些線索如下:那些前綴是dm_的是動態(tài)管理視圖,通過類似當(dāng)前會話、鎖,以及系統(tǒng)資源的信息表示服務(wù)器的正在改變的狀態(tài)。其他的視圖都可以認(rèn)為是分類視圖。那些前綴是all_的包含了有關(guān)系統(tǒng)對象(例如視圖)和用戶定義的對象的信息。那些沒有all_前綴的只包含了用戶定義的對象的信息。在那些包括了系統(tǒng)對象的視圖中,is_ms_shipping字段可用于區(qū)分用戶定義對象和系統(tǒng)對象。如果is_ms_shipped字段的值為1,則這一行代表了一個系統(tǒng)對象,否則,就是用戶定義的對象。
  最后,讓我們檢查一些你可以從分類視圖中獲得數(shù)據(jù)類型。對于初學(xué)者,所有常見的內(nèi)容都可以獲得。例如:查看索引中的數(shù)據(jù),使用sys.indexes,而不是原先的sysindexes——奇怪的是,現(xiàn)在稱之為sys.sysindexes。對于約束,試試sys.check_constraints, sys.default_constraints, 或者 sys.key_constraints??闯鲞@個趨勢了嗎?
  這篇貼士哪怕是沒有簡單的提到一句有關(guān)新的動態(tài)管理視圖的話,都是不完整的。這些視圖是sql server存儲新的元數(shù)據(jù)的強(qiáng)有力的工具,它們可以幫助數(shù)據(jù)庫管理員快速解決問題并分析服務(wù)器的性能。其中的一些明星選手,包括sys.dm_exec_query_stats,用來報告查詢要求了多少個處理器時間;以及sys.dm_db_index_usage_stats,用來幫助數(shù)據(jù)庫管理員決定哪一個索引是最有用的,哪些是沒有用的。
  對于這個巨大的元數(shù)據(jù)視圖集合,還有更多的話需要說。但是現(xiàn)在,可以看看最近由微軟發(fā)布在網(wǎng)上的beta版的sql server 2005在線書籍。系統(tǒng)視圖主題提供了對這個強(qiáng)大的新的數(shù)據(jù)倉庫的能力的整體描述。
  另外,以下是那個2分鐘問題的解決方案。首先使用sql server 2000系統(tǒng)表。其次,可以盡早地閱讀有關(guān)sql server 2005 分類視圖的譯本。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 赤峰市| 日照市| 五河县| 高雄县| 通化县| 承德县| 股票| 工布江达县| 栾城县| 尚志市| 和政县| 商都县| 扎兰屯市| 突泉县| 嘉定区| 会昌县| 德庆县| 红安县| 金华市| 明光市| 邓州市| 陇南市| 宁化县| 大姚县| 高平市| 昌吉市| 永修县| 合阳县| 屯门区| 石柱| 云梦县| 晋州市| 平果县| 崇文区| 天峻县| 扶沟县| 开平市| 黔西| 马公市| 马公市| 黄大仙区|