成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入解析SQL Server動態管理對象

數據庫 SQL Server
SQL Server動態管理對象是SQL Server2005中加入的功能,這些對象允許數據庫管理員或開發者對數據庫服務器進行高效監控,下面就讓我們一起來了解一下。

SQL Server動態管理對象在SQL Server2005之前的版本中并不存在,SQL Server動態管理對象是SQL Server 2005的新功能,它們是在指定時間返回某個數據庫實例的特殊狀態信息的數據庫視圖或函數。

這些SQL Server動態管理對象對象允許數據庫管理員或開發者對數據庫服務器進行高效監控。動態管理對象取代了SQL Server以前版本中的許多系統表格,但也為數據庫管理員提供更多觀測手段。

服務器上需要監控的內容,幾乎都有對應的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%。可以應用這個數據來開發程序,查看數據庫表格,并根據程序中設定的標準,重新為它們編寫目錄。

sys.dm_exec_requests:這個視圖顯示發生在SQL Server實例中的每個請求的有關信息。當研究服務器阻塞時,由此視圖提供的信息特別有用。讀、寫、會話設置和 blocking_session_id是這個視圖返回的一些有用數據。blocking_session_id欄指出系統上阻塞數據庫請求的會話。稍后,我將舉出一個例子,說明如何確定用戶運行的阻塞請求的語句。
 
sys.dm_exec_sessions:SQL Server上每個得到驗證的會話由它返回一行。在希望找出連接到數據庫服務器的所有用戶時,可用到這個視圖。它返回session_id、連接通過它建立會話執行的讀和寫的程序、以及其它一些會話設置。這個視圖還包含一個叫做is_user_process的BIT域,在查詢這個表格時可能會用到它。數值1表示會話為用戶會話而非系統定義的會話。
 
sys.dm_exec_sql_text:這是一個根據sql操作返回SQL Server語句的動態管理函數。對某些動態管理函數而言,SQL Server 2005將正在執行的sql語句以散列值存儲。這個散列值可由sys.dm_exec_sql_text動態管理函數解析。但是,任何時候希望將一個函數與另一個對象連接起來,并從表格或視圖中提交一個域值時,就會需要用到新的APPLY運算符。SQL Server 2005以前的版本并不具備這一功能。(欲了解SQL Server 2005中APPLY運算符的詳細信息,請參閱這篇文章。)
 
現在我們討論一下如何應用這三個動態管理函數。列表D中的查詢列舉出數據庫中所有當前用戶請求執行的會話、阻塞會話、程序、主機和SQL Server語句。
 
注意正在使用dm_exec_sql_text函數,并從 sys.dm_exec_requests視圖中提交sql_handle域。由sys.dm_exec_requests和 sys.dm_exec_sessions視圖返回的每一行,都將調用sys.dm_exec_sql_text函數。

 

 

 

【編輯推薦】

SQL Server創建數據庫的命令

sql server系統表損壞的解決方法

帶您了解SQL Server游標

5種情況下sql server刪除數據的方法

詳解SQL Server 2005 Express下的事件探查器

責任編輯:段燃 來源: 互聯網
相關推薦

2011-03-29 15:27:26

SQL Server 動態管理

2010-07-19 11:28:14

SQL Server

2010-10-20 15:31:49

SQL Server對

2010-11-09 15:06:52

SQL Server動

2010-09-14 15:00:43

SQL Server安

2010-11-08 10:16:41

SQL Server數

2024-10-12 15:35:08

SQL索引數據庫

2010-10-20 15:11:53

SQL Server作

2010-04-15 16:50:58

Oracle動態SQL

2011-07-13 09:59:29

上網行為管理

2010-08-05 09:07:24

2010-11-12 13:08:36

動態sql語句

2024-10-15 16:53:07

2010-10-21 15:21:06

SQL Server系

2009-06-03 08:53:20

微軟Windows 7操作系統

2011-04-13 14:20:52

SQL Server主鍵

2010-10-19 13:26:45

SQL Server事

2010-10-20 15:27:00

SQL Server用

2016-05-18 17:15:17

互動出版網

2024-01-03 13:38:00

C++面向對象編程OOP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品影院 | 伊人狠狠干 | 国产精品永久免费 | 我我色综合 | 91久久北条麻妃一区二区三区 | 亚洲啊v在线 | 欧美一区二区三区在线看 | 亚洲成人精品在线观看 | 99精品欧美一区二区三区 | 99久久精品免费看国产高清 | 色综合久 | 国产精品一区二区三区免费观看 | 中文字幕亚洲精品在线观看 | 日韩免费视频一区二区 | 99精品国产一区二区青青牛奶 | 亚洲视频免费在线观看 | 又爽又黄axxx片免费观看 | 成人精品鲁一区一区二区 | 国产激情视频在线免费观看 | 91亚洲视频在线 | 欧美成年黄网站色视频 | 在线观看中文字幕dvd播放 | 亚洲精品成人在线 | 亚洲视频一区二区三区 | 日本午夜视频 | 国产良家自拍 | 色综合99 | 日韩精品一二三区 | 久久精品国产久精国产 | 夜夜爆操 | 日韩欧美一区在线 | 免费小视频在线观看 | 在线精品亚洲欧美日韩国产 | 精品在线观看入口 | 久久伊人免费视频 | 国产99视频精品免费视频7 | 熟女毛片 | www.亚洲| 色一阁| 91国产视频在线 | 日韩精品专区在线影院重磅 |