SQL Server 2005中五個動態(tài)管理對象_Mssql數(shù)據(jù)庫教程
推薦:給SQL Server 2008 安裝安全審計在SQL Server 2008里安裝審計,步驟如下: 1. 給每個SQL Server 2008具體實例創(chuàng)建一個SQL Server審計 2. 創(chuàng)建服務(wù)器審計規(guī)范、數(shù)據(jù)庫審計規(guī)范或者其中的一個 3. 激活SQL Server審計 4. 查看審計數(shù)據(jù) 在這一技巧中,我將復(fù)習(xí)其中的每一步并舉例說名它們怎么進(jìn)
SQL Server 2005的新功能為動態(tài)管理對象,它們是在指定時間返回某個數(shù)據(jù)庫實例的特殊狀態(tài)信息的數(shù)據(jù)庫視圖或函數(shù)。這些對象允許數(shù)據(jù)庫管理員或開發(fā)者對數(shù)據(jù)庫服務(wù)器進(jìn)行高效監(jiān)控。動態(tài)管理對象取代了SQL Server以前版本中的許多系統(tǒng)表格,但也為數(shù)據(jù)庫管理員提供更多觀測手段。
服務(wù)器上需要監(jiān)控的內(nèi)容,幾乎都有對應(yīng)的動態(tài)管理對象。既然有這么多動態(tài)管理對象,在這篇文章中逐一進(jìn)行討論是不實際的。例如,共有12類動態(tài)管理對象,但這里我主要討論我認(rèn)為相當(dāng)重要的五個對象,它們分別來自與SQL Server操作系統(tǒng)、目錄和執(zhí)行有關(guān)的類中。
這些對象被分為兩類:數(shù)據(jù)庫級別和服務(wù)器級別。SQL Server 2005的安全構(gòu)架有些不同,所以你必須采取一些措施保證你能夠使用本文討論的視圖和函數(shù)。你必須保證使用這些例子的用戶能夠查看對象的SERVER STATE和DATABASE STATE�?梢詰�(yīng)用GRANT語句來完成這一點。
在我開始介紹動態(tài)管理對象之前,你應(yīng)該建立一個可用在所有例子里面的表格。列表A是建立這個表格的代碼。
SQL Server操作系統(tǒng)相關(guān)動態(tài)管理對象
sys.dm_os_performance_counters:這個視圖返回的信息列舉與SQL Server直接相關(guān)的性能統(tǒng)計。返回的信息代表通過Windows性能監(jiān)控器顯示的外部性能計數(shù)器。在SQL Server 2000中,這些數(shù)據(jù)以一個叫做sysperfinfo的系統(tǒng)表格來表示,SQL Server 2005中也有這個表格,但僅用于向后兼容。將來的版本可能會刪除這個表格。
要了解如何應(yīng)用這個視圖,而不是運(yùn)行Windows性能監(jiān)控器來獲取系統(tǒng)信息,請運(yùn)行列表B中的查詢代碼。這個查詢將返回服務(wù)器當(dāng)前時刻的緩存命中率(Buffer Cache Hit Ratio)。緩存命中率指在內(nèi)存中所發(fā)現(xiàn)的SQL Server請求頁面的百分比。如果服務(wù)器運(yùn)轉(zhuǎn)正常,這個值一般在90%以上。如果這個值低于90%,則意味著服務(wù)器將會去硬盤那里恢復(fù)數(shù)據(jù)頁面,這可能是服務(wù)器需要更多內(nèi)存的信號。
如果你為了同樣的目的,準(zhǔn)備運(yùn)行上面的查詢,并將得到的結(jié)果與運(yùn)行Windows性能監(jiān)控器顯示的結(jié)果進(jìn)行比較(SQL Server:緩沖器管理器緩存命中率),你會發(fā)現(xiàn)這些數(shù)據(jù)幾乎是一樣的。稍稍研究一下,就可以根據(jù)這個表格開發(fā)出你自己的腳本庫,而不必總是運(yùn)行Windows性能監(jiān)控器。
Caveat:這個視圖僅限于SQL Server相關(guān)的計數(shù)器使用。如果你希望獲得SQL Server之外的數(shù)據(jù),你還是要使用Windows性能監(jiān)控器。
目錄相關(guān)動態(tài)管理視圖和函數(shù)
sys.dm_db_index_physical_stats:這個動態(tài)管理函數(shù)為數(shù)據(jù)表格和視圖返回相關(guān)數(shù)據(jù)及目錄信息。查看列表C。這個函數(shù)接受5個參數(shù):數(shù)據(jù)庫的ID、所討論的表格或視圖的ID、表格或視圖上的一個特定目錄的ID(被我忽略)、分區(qū)號(也被我忽略)和一個模式,我將它指定為“DETAILED”。將這些參數(shù)提交給這個函數(shù)會允許你查看DMVTest表格中的所有目錄細(xì)節(jié)。
在前面定義的表格中運(yùn)行列表C中的查詢,你會發(fā)現(xiàn)表格中既沒有頁面也沒有記錄。在DMVTest中增加一條記錄,再運(yùn)行查詢,就會發(fā)現(xiàn)表格中增加了一個頁面。
INSERT INTO DMVTest(C2, C3)
VALUES(1,1)
這個函數(shù)返回的另一個特別有趣的域為avg_page_space_used_in_percent域,它說明數(shù)據(jù)頁面有多大。從查詢中發(fā)現(xiàn)數(shù)據(jù)頁面約為0.25%。你可以應(yīng)用這個數(shù)據(jù)來開發(fā)程序,查看數(shù)據(jù)庫表格,并根據(jù)程序中設(shè)定的標(biāo)準(zhǔn),重新為它們編寫目錄。
分享:總結(jié)SQL的存儲過程DB2 存儲過程:基礎(chǔ)知識 您在客戶端工作站上對遠(yuǎn)程服務(wù)器和位于該服務(wù)器上的數(shù)據(jù)庫進(jìn)行分類的任何時候,都存在一個簡單的 DB2 客戶端/服務(wù)器環(huán)境。在這種環(huán)境中,每次對遠(yuǎn)程服務(wù)器上的數(shù)據(jù)庫執(zhí)行 SQL 語句時,語句本身通過網(wǎng)絡(luò)從客戶端發(fā)送到服務(wù)器上的數(shù)據(jù)
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 關(guān)于升級SQL Server 2008數(shù)據(jù)庫引擎
- 通過名詞解釋:輕松接觸13個數(shù)據(jù)庫術(shù)語
- SQL Server 2005 數(shù)據(jù)庫鏡像簡介
- 三個SQL視圖查出所有SQL Server數(shù)據(jù)庫字典
- 給SQL Server 2008 安裝安全審計
- 巧用一條SQL語句實現(xiàn)其它進(jìn)制到十進(jìn)制轉(zhuǎn)換
- SQL Server 2008中的代碼安全(六) 對稱密鑰加密
- 如何獲取SqlServer2005數(shù)據(jù)庫表結(jié)構(gòu)
- 在SQL Server中實現(xiàn)最短路徑搜索的解決方法
- 教你SQL Server日志清除的兩種方法
猜你也喜歡看這些
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-SQL Server 2005中五個動態(tài)管理對象
。