SQL Server 2005中五個動態管理對象(2)_Mssql數據庫教程
推薦:給SQL Server 2008 安裝安全審計在SQL Server 2008里安裝審計,步驟如下: 1. 給每個SQL Server 2008具體實例創建一個SQL Server審計 2. 創建服務器審計規范、數據庫審計規范或者其中的一個 3. 激活SQL Server審計 4. 查看審計數據 在這一技巧中,我將復習其中的每一步并舉例說名它們怎么進
執行相關的動態管理視圖和函數
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 2005中的動態管理對象。
分享:總結SQL的存儲過程DB2 存儲過程:基礎知識 您在客戶端工作站上對遠程服務器和位于該服務器上的數據庫進行分類的任何時候,都存在一個簡單的 DB2 客戶端/服務器環境。在這種環境中,每次對遠程服務器上的數據庫執行 SQL 語句時,語句本身通過網絡從客戶端發送到服務器上的數據
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-SQL Server 2005中五個動態管理對象(2)。