SQL Server 2005中五個動態管理對象_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:給SQL Server 2008 安裝安全審計
      在SQL Server 2008里安裝審計,步驟如下: 1. 給每個SQL Server 2008具體實例創建一個SQL Server審計 2. 創建服務器審計規范、數據庫審計規范或者其中的一個 3. 激活SQL Server審計 4. 查看審計數據 在這一技巧中,我將復習其中的每一步并舉例說名它們怎么進

      SQL Server 2005的新功能為動態管理對象,它們是在指定時間返回某個數據庫實例的特殊狀態信息的數據庫視圖或函數。這些對象允許數據庫管理員或開發者對數據庫服務器進行高效監控。動態管理對象取代了SQL Server以前版本中的許多系統表格,但也為數據庫管理員提供更多觀測手段。

      服務器上需要監控的內容,幾乎都有對應的動態管理對象。既然有這么多動態管理對象,在這篇文章中逐一進行討論是不實際的。例如,共有12類動態管理對象,但這里我主要討論我認為相當重要的五個對象,它們分別來自與SQL Server操作系統、目錄和執行有關的類中。

      這些對象被分為兩類:數據庫級別和服務器級別。SQL Server 2005的安全構架有些不同,所以你必須采取一些措施保證你能夠使用本文討論的視圖和函數。你必須保證使用這些例子的用戶能夠查看對象的SERVER STATE和DATABASE STATE。可以應用GRANT語句來完成這一點。

      在我開始介紹動態管理對象之前,你應該建立一個可用在所有例子里面的表格。列表A是建立這個表格的代碼。

      SQL Server操作系統相關動態管理對象

      sys.dm_os_performance_counters:這個視圖返回的信息列舉與SQL Server直接相關的性能統計。返回的信息代表通過Windows性能監控器顯示的外部性能計數器。在SQL Server 2000中,這些數據以一個叫做sysperfinfo的系統表格來表示,SQL Server 2005中也有這個表格,但僅用于向后兼容。將來的版本可能會刪除這個表格。

      要了解如何應用這個視圖,而不是運行Windows性能監控器來獲取系統信息,請運行列表B中的查詢代碼。這個查詢將返回服務器當前時刻的緩存命中率(Buffer Cache Hit Ratio)。緩存命中率指在內存中所發現的SQL Server請求頁面的百分比。如果服務器運轉正常,這個值一般在90%以上。如果這個值低于90%,則意味著服務器將會去硬盤那里恢復數據頁面,這可能是服務器需要更多內存的信號。

      如果你為了同樣的目的,準備運行上面的查詢,并將得到的結果與運行Windows性能監控器顯示的結果進行比較(SQL Server:緩沖器管理器緩存命中率),你會發現這些數據幾乎是一樣的。稍稍研究一下,就可以根據這個表格開發出你自己的腳本庫,而不必總是運行Windows性能監控器。

      Caveat:這個視圖僅限于SQL Server相關的計數器使用。如果你希望獲得SQL Server之外的數據,你還是要使用Windows性能監控器。

      目錄相關動態管理視圖和函數

      sys.dm_db_index_physical_stats:這個動態管理函數為數據表格和視圖返回相關數據及目錄信息。查看列表C。這個函數接受5個參數:數據庫的ID、所討論的表格或視圖的ID、表格或視圖上的一個特定目錄的ID(被我忽略)、分區號(也被我忽略)和一個模式,我將它指定為“DETAILED”。將這些參數提交給這個函數會允許你查看DMVTest表格中的所有目錄細節。

      在前面定義的表格中運行列表C中的查詢,你會發現表格中既沒有頁面也沒有記錄。在DMVTest中增加一條記錄,再運行查詢,就會發現表格中增加了一個頁面。

      INSERT INTO DMVTest(C2, C3)

      VALUES(1,1)

      這個函數返回的另一個特別有趣的域為avg_page_space_used_in_percent域,它說明數據頁面有多大。從查詢中發現數據頁面約為0.25%。你可以應用這個數據來開發程序,查看數據庫表格,并根據程序中設定的標準,重新為它們編寫目錄。

      分享:總結SQL的存儲過程
      DB2 存儲過程:基礎知識 您在客戶端工作站上對遠程服務器和位于該服務器上的數據庫進行分類的任何時候,都存在一個簡單的 DB2 客戶端/服務器環境。在這種環境中,每次對遠程服務器上的數據庫執行 SQL 語句時,語句本身通過網絡從客戶端發送到服務器上的數據

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2009-03-02
      相關Mssql數據庫教程