第8章游標和事務_第1頁
第8章游標和事務_第2頁
第8章游標和事務_第3頁
第8章游標和事務_第4頁
第8章游標和事務_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南昌工程學院計算機系第第8章章 游標和事務游標和事務報告報告 人:譚德坤人:譚德坤Email:8.1 游標( Cursor)8.2 事務(Transaction) 游標的概念 聲明游標 打開游標 數(shù)據(jù)處理 關閉游標 釋放游標 事務的概念 事務的模式 事務控制本章知識點 前面介紹的數(shù)據(jù)檢索方法可以得到數(shù)據(jù)庫中有關表的數(shù)據(jù),但這些數(shù)據(jù)是作為一個結果集得到的,用戶可以把這個結果集保存到一個文件里,或生成一個新表以便于以后使用。這種查詢是非常重要的。但這種查詢形式有一個很大的缺點,它不能對結果集中每一行的數(shù)據(jù)進行處理。使用游標可以實現(xiàn)對查詢結果集中的數(shù)據(jù)逐行處理。為何引入游標?為何引入游標?8.1.1

2、 游標的概念游標的概念 游標是SQL Server提供的一種機制,它能夠對一個結果集進行逐行處理,其工作方式類似于指針,可以指向結果集中的任意位置以此對指定位置的數(shù)據(jù)進行處理??梢园呀Y果集中的數(shù)據(jù)放在數(shù)組、應用程序中或其它地方。Transact-SQL游標遵循ANSI-92標準。使用游標的優(yōu)點使用游標的優(yōu)點 從游標定義可以得知游標具有如下的優(yōu)點,正是這些優(yōu)點使得游標在實際編程應用中具有重要作用。 允許程序對由查詢語句SELECT返回的行集合中的每一行數(shù)據(jù)執(zhí)行相同或不同的操作,而不是對整個行集合執(zhí)行同一個操作 提供對基于游標位置的表中的行進行刪除和更新的能力 游標實際上作為面向集合的數(shù)據(jù)庫管理系

3、統(tǒng)(RDBMS)和面向行的程序設計之間的橋梁,使這兩種處理方式通過游標溝通起來使用游標的步驟 使用游標要遵循聲明游標打開游標讀取游標關閉游標刪除游標的順序。 5步!8.1.2 聲明游標declare 游標名游標名 cursor local | global forward_only | scroll static | keyset | dynamic | fast_forward read_only | scroll_locks | optimisticfor select語句語句 for update of 列名列名 ,.n參數(shù)說明: 游標名:游標命名必須符合標識符規(guī)則,不能超過30 個字符

4、。 select語句:定義結果集的標準select語句,且不許用compute、compute by、for browse和into子句。 local:游標的作用域是局部的創(chuàng)建它的批處理、存儲過程或觸發(fā)器。 global:游標的作用域是全局的。在由連接執(zhí)行的任何存儲過程或批處理中,都可以引用該游標名稱。該游標僅在連接斷開時自動釋放。參數(shù)說明:forward_only 只進。僅支持next。Scroll 滾動 支持:next、prior、first、last、absolute、relativestatic 靜態(tài) open時在tempdb創(chuàng)建臨時表復本保存結果集。只提取,不許修改dynamic 動

5、態(tài) 記錄值、順序等在每次提取時都可能因其他用戶的更改而變動。不支持 absolute 提取選項。keyset 鍵集 open時在tempdb創(chuàng)建keyset表,記錄結果集中每條記錄的關鍵字段值和順序。參數(shù)說明:fast_forward 快速向前 優(yōu)化的 forward_only、read_only.與scroll、for_update、 forward_only互斥read_only 只讀 在 update 或 delete 語句的 where current of 子句中不能引用游標scroll_locks 滾動鎖定 當滾動記錄指針提取當前記錄時,系統(tǒng)將會鎖定該行,確保游標更新或刪除的成功O

6、ptimistic 樂觀 行自從被讀入游標以來,如果已修改該行,嘗試進行的更新或刪除將失敗for update of 列,.更新 指定可更新的列。默認所有列例例8-1 定義一個游標,其數(shù)據(jù)為表定義一個游標,其數(shù)據(jù)為表salers中中的全部數(shù)據(jù)的全部數(shù)據(jù)DECLARE myCursor CURSORFor select * from Salers語法格式:OPEN GLOBAL 游標名游標名 當游標被打開時,行指針會指在第一行之前 打開游標后,如果 error=0表示打開操作成功 打開游標后,可用 cursor_rows返回游標記錄數(shù)-m 游標被異步填充.-m是鍵集中當前的行數(shù)-1 游標為動態(tài)。

7、符合條件記錄的行數(shù)不斷變化0 沒有符合的記錄、游標沒打開、關閉或釋放n 游標已完全填充。n是在游標中的總行數(shù)8.1.3 打開游標8.1.4從打開的游標中提取數(shù)據(jù) FETCH NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n FROM cursor_name INTO variable_name ,.n NEXT:提取上次提取行之后的行,即向下移動。如:提取上次提取行之后的行,即向下移動。如果果 FETCH NEXT 為對游標的第一次提取操作,則返回結為對游標的第一次提取操作,則返回結果集中的第一行。果集中的第一行。NEXT 為默認的游標

8、提取選項。為默認的游標提取選項。 PRIOR:提取上次提取行之前的行。如果:提取上次提取行之前的行。如果 FETCH PRIOR 為對游標的第一次提取操作,則沒有行返回并且為對游標的第一次提取操作,則沒有行返回并且游標置于第一行之前。游標置于第一行之前。 LAST:提取游標中的最后一行并將其作為當:提取游標中的最后一行并將其作為當前行。前行。ABSOLUTE n :如果:如果 n 為正數(shù),則提取游標中從為正數(shù),則提取游標中從第第 1 行開始的第行開始的第 n 行。如果行。如果 n 為負整數(shù),則提為負整數(shù),則提取游標中的倒數(shù)第取游標中的倒數(shù)第 n 行。行。 RELATIVE n :如果:如果 n

9、 為正數(shù),則提取所上次為正數(shù),則提取所上次提取行之后的第提取行之后的第 n 行。如果行。如果 n 為負數(shù),則提取為負數(shù),則提取上次所提取行之前的第上次所提取行之前的第 n 行。如果行。如果 n 為為 0,則,則同一行被再次提取。同一行被再次提取。 cursor_name :要從中進行提取的游標的名稱:要從中進行提取的游標的名稱。 INTO variable_name,.n:允許將提取操:允許將提取操作的列數(shù)據(jù)放到局部變量中。作的列數(shù)據(jù)放到局部變量中。注意:注意: FETCH語句每次只能提取一行數(shù)據(jù)。因為Transact-SQL游標不支持塊(多行)提取操作。 用fetch_status返回執(zhí)行F

10、ETCH操作之后,當前游標指針的狀態(tài)。狀態(tài)值如下: 0 表示行已成功地讀取。 -1 表示讀取操作已超出了結果集。 -2 表示行在表中不存在。注意:注意: 查詢結果用into子句寫入局部變量,須先聲明局部變量的類型和寬度,且與select 語句中相應列的順序、類型和寬度一致。 第一次執(zhí)行fetch next,則將獲取游標中的第一行數(shù)據(jù)。 打開游標后第一次執(zhí)行fetch prior,則得不到任何數(shù)據(jù)。數(shù)據(jù)處理(2) 修改數(shù)據(jù) 語法格式:語法格式:update from 表或視圖表或視圖 set 列名列名=表達式表達式, where current of 游標名游標名功能:修改當前行指定字段的值功能

11、:修改當前行指定字段的值數(shù)據(jù)處理(3) 刪除數(shù)據(jù) 語句格式:delete from 表或視圖表或視圖 where current of 游標名游標名 功能: 刪除游標名指定的當前行數(shù)據(jù)。8.1.5關閉游標 當提取完游標結果集中的數(shù)據(jù)時,應及時調當提取完游標結果集中的數(shù)據(jù)時,應及時調用用CLOSE語句關閉游標,以便釋放游標所占用語句關閉游標,以便釋放游標所占用的系統(tǒng)資源。的系統(tǒng)資源。 CLOSE cursor_name cursor_name 是要被關閉的游標名。是要被關閉的游標名。8.1.6 釋放(刪除)游標由于關閉游標時并沒有刪除游標,因此,游標仍由于關閉游標時并沒有刪除游標,因此,游標仍然

12、占用著系統(tǒng)資源。則將其關閉后,還需要使然占用著系統(tǒng)資源。則將其關閉后,還需要使用用DEALLOCATE語句來釋放游標所占用的系語句來釋放游標所占用的系統(tǒng)資源。統(tǒng)資源。 DEALLOCATE cursor_name 使用游標修改數(shù)據(jù) UPDATE語句和語句和DELETE語句也支持游標操語句也支持游標操作,它們可以通過游標修改或刪除游標基表中作,它們可以通過游標修改或刪除游標基表中的當前數(shù)據(jù)行。這樣,就可以通過游標更新和的當前數(shù)據(jù)行。這樣,就可以通過游標更新和刪除數(shù)據(jù)表中的數(shù)據(jù)。刪除數(shù)據(jù)表中的數(shù)據(jù)。 UPDATE table_nameSET 子句WHERE CURRENT OF cursor_na

13、me table_name table_name:為需要修改的數(shù)據(jù)表名。:為需要修改的數(shù)據(jù)表名。 cursor_namecursor_name:為游標名。:為游標名。例如:例如: Update SalersSet sex=女Where CURRENT OF myCursor將游標將游標“myCursor”中當前行中的中當前行中的“sex”列列的值修改為的值修改為“女女”。 DELETE FROM table_nameWHERE CURRENT OF cursor_name table_name:為需要修改的數(shù)據(jù)表名。:為需要修改的數(shù)據(jù)表名。 cursor_name:為游標名。:為游標名。例如:

14、例如:DELETE FROM SalersWhere CURRENT OF myCursor將游標將游標“myCursor”中當前行中刪除。中當前行中刪除。 USE Student GO DECLARE student_cur3 CURSOR FOR SELECT student_Name FROM student_Info OPEN student_cur3 GO一個完整的實例 FETCH NEXT FROM student_cur3 GO UPDATE student_Info SET student_Name = liu WHERE CURRENT OF student_cur3 GO

15、CLOSE student_cur3 DEALLOCATE student_cur3 GOdeclare 游標名游標名 cursor for select語句語句(2) open 游標名游標名(3) 使用使用移動讀取:移動讀?。?fetch 游標名游標名 into 變量名變量名,刪除數(shù)據(jù):刪除數(shù)據(jù): delete from 表或視圖名表或視圖名 where current of 游標名游標名修改數(shù)據(jù):修改數(shù)據(jù): update from 表或視圖名表或視圖名 set 列名列名=表達式表達式, where current of 游標名游標名(4) close 游標名游標名(5) deallocat

16、e 游標名游標名是從查詢記錄集中逐條逐行地移動讀取、修改是從查詢記錄集中逐條逐行地移動讀取、修改或刪除記錄的處理機制。或刪除記錄的處理機制。靜態(tài)靜態(tài)(Static) / 動態(tài)動態(tài)(Dynamic)只進只進(Forward Only)/ 滾動滾動(Scroll)游標小結8.2 事事 務務 事務是SQL Server中的一個邏輯單元,其中包括一系列的操作,這些語句將被作為一個整體進行處理。通過事務,SQL Server能將邏輯相關的一組操作綁定在一起,以便服務器保持數(shù)據(jù)的完整性。8.2.1 事務的基本概念事務的基本概念 事務是一種機制,是一個操作序列,它包含了一組數(shù)據(jù)庫操作命令,所有的命令作為一個

17、整體一起向系統(tǒng)提交或撤消操作請求,即要么都執(zhí)行,要么都不執(zhí)行。因此,事務是一個不可分割的工作邏輯單元,類似于操作系統(tǒng)中的原語。在數(shù)據(jù)庫系統(tǒng)上執(zhí)行并發(fā)操作時,事務是作為最小的控制單元來使用的。 事務是作為單個邏輯工作單元執(zhí)行的一系列操作。一個邏輯工作單元必須有四個屬性,稱為ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務。原子性:事務必須是原子工作單元。對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。一致性:事務在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。在相關數(shù)據(jù)庫中,所有規(guī)則都必須應用于事務的修改,以保持所有數(shù)據(jù)的完整性。事務結束時,所有的內部數(shù)據(jù)結構都必須是正確的。隔離

18、性:由并發(fā)事務所作的修改必須與任何其他并發(fā)事務所作的修改隔離。事務查看數(shù)據(jù)時數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務修改它之前的狀態(tài),要么是另一事務修改它之后的狀態(tài),事務不會查看中間狀態(tài)的數(shù)據(jù)。這稱為可串行性,因為它能夠重新裝載起始數(shù)據(jù),并且重播一系列事務,以使數(shù)據(jù)結束時的狀態(tài)與原始事務執(zhí)行的狀態(tài) 相同。持久性:事務完成之后,它對于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)系統(tǒng)故障也將一直保持。通常在程序中用BEGIN TRANSACTION命令來標識一個事務的開始,用COMMIT TRANSACTION命令標識事務結束。這兩個命令之間的所有語句被視為一體,只有執(zhí)行到COMMIT TRANSACTION命

19、令時,事務中對數(shù)據(jù)庫的更新操作才算確認。和BEGINEND命令類似,這兩個命令也可以進行嵌套,即事務是可以嵌套執(zhí)行這兩個命令的。1語法語法 BEGIN TRAN SACTION transaction_name | tran_name_variable WITH MARK description 2參數(shù)參數(shù) transaction_name:給事務分配的名稱。 tran_name_variable:用戶定義的、含有有效事務名稱的變量的名稱。必須用 char、varchar、nchar或nvarchar數(shù)據(jù)類型聲明該變量。 WITH MARK description:指定在日志中標記事務。des

20、cription 是描述該標記的字符串。如果使用了 WITH MARK,則必須指定事務名。WITH MARK 允許將事務日志還原到命名標記。 SQL Server以下面幾種事務模式運行:顯式事務隱性事務自動提交事務分布式事務8.2.2 顯式事務顯式事務 顯示事務是指由用戶通過Transact-SQL事務語句而定義的事務。 Transact-SQL事務語句包括以下語句: BEGIN TRANSACTION語句:標記一個本地事務的開始。 COMMIT TRANSACTION語句:標記一個顯示事務或隱式事務的結束,說明事務已經(jīng)成功執(zhí)行,并將事務內全部被修改的數(shù)據(jù)保存到數(shù)據(jù)庫中。 COMMIT WOR

21、K語句:標記一個事務的結束。 ROLLBACK TRANSACTION語句:回滾顯示事務或隱式事務到事務的起始位置,或事務內部的存儲點。 ROLLBACK WORK語句:回滾顯示事務到事務的起始位置。8.2.3 隱式事務隱式事務 隱式事務是指在當前事務提交或回滾后,SQL Server自動開始的事務。 在回滾之后,SQL Server又自動開始一個新的事務。 在隱式模式下,當執(zhí)行下面任何一個語句時,可以使SQL Server重新啟動一個事務。所有CREATE語句ALTER TABLE語句所有DROP語句TRUNCATE TABLE語句GRANT語句REVOKE語句INSERT語句UPDATE語

22、句DELETE語句SELECT語句OPEN語句FETCH 要關閉隱式事務模式前,執(zhí)行SET IMPLICIT_TRANSACTIONS OFF語句即可。8.2.4 自動事務模式自動事務模式 自動事務是一種能夠自動執(zhí)行并能自動回滾的事務。在自動事務模式下,當一個語句成功執(zhí)行后,它被自動提交,而當它執(zhí)行過程中產生錯誤則被自動回滾。 8.2.5 分布式事務分布式事務 分布式事務跨越兩個或多個稱為資源管理器的服務器。 8.3 鎖鎖 定定 如果在數(shù)據(jù)庫不一致性狀態(tài)時讀取數(shù)據(jù),就有可能產生不一致性問題。解決這類問題的常用方法就是對此數(shù)據(jù)源進行了鎖定,在SQL Server中可以對以下的對象進行鎖定。數(shù)據(jù)行

23、(Row):數(shù)據(jù)頁中的單行數(shù)據(jù)。索引行(Key):索引頁中的單行數(shù)據(jù)即索引的鍵值。頁(Page):頁是SQL Server 存取數(shù)據(jù)的基本單位,其大小為8KB。盤區(qū)(Extent):一個盤區(qū)由8 個連續(xù)的頁組成。表(Table)。數(shù)據(jù)庫(Database)。8.3.1 鎖定粒度鎖定粒度 SQL Server 2000具有多粒度鎖定,可以根據(jù)事務所執(zhí)行的任務靈活選擇所鎖定的資源粒度。為了最小化鎖的成本,SQL Server 2000自動地將適當級別的鎖分配給任務。 8.3.2 鎖模式鎖模式 SQL Server 使用以下資源鎖模式。 1共享鎖 共享(S)鎖允許并發(fā)事務讀?。⊿ELECT)一個資源

24、。資源上存在共享(S)鎖時,任何其他事務都不能修改數(shù)據(jù)。 一旦已經(jīng)讀取數(shù)據(jù),便立即釋放資源上的共享(S)鎖,除非將事務隔離級別設置為可重復讀或更高級別,或者在事務生存周期內用鎖定提示保留共享(S)鎖。2更新鎖更新鎖 更新(U)鎖可以防止通常形式的死鎖。一般更新模式由一個事務組成,此事務讀取記錄,獲取資源(頁或行)的共享(S)鎖,然后修改行,此操作要求鎖轉換為排它(X)鎖。如果兩個事務獲得了資源上的共享模式鎖,然后試圖同時更新數(shù)據(jù),則一個事務嘗試將鎖轉換為排它(X)鎖。 若要避免這種潛在的死鎖問題,請使用更新(U)鎖。 3排它鎖排它鎖 排它(X)鎖可以防止并發(fā)事務對資源進行訪問。其他事務不能讀取

25、或修改排它(X)鎖鎖定的數(shù)據(jù)。4意向鎖意向鎖 意向鎖表示SQL Server需要在層次結構中的某些底層資源上獲取共享(S)鎖或排它(X)鎖。 5架構鎖架構鎖 執(zhí)行表的數(shù)據(jù)定義語言(DDL)操作(例如添加列或除去表)時,使用架構修改(Sch-M)鎖。6大容量更新鎖大容量更新鎖 當將數(shù)據(jù)大容量復制到表,且指定了 TABLOCK 提示或者使用 sp_tableoption 設置了 table lock on bulk 表選項時,將使用大容量更新(BU)鎖。大容量更新(BU)鎖允許進程將數(shù)據(jù)并發(fā)地大容量復制到同一表,同時防止其他不進行大容量復制數(shù)據(jù)的進程訪問該表。8.3.3 顯示鎖定信息顯示鎖定信息

26、可以通過企業(yè)管理器或存儲過程來查看鎖。 1用企業(yè)管理器查看鎖 在企業(yè)管理器中選擇目錄樹窗口中管理文件夾下當前活動中的鎖/對象節(jié)點,如圖8-1所示,則可以查看當前鎖定的進程,選擇同級的鎖/對象節(jié)點下的相應子節(jié)點,則可以查看當前鎖定的對象。 圖圖8-1 8-1 查看鎖查看鎖圖圖8-2 8-2 鎖屬性對話框鎖屬性對話框2用系統(tǒng)存儲過程用系統(tǒng)存儲過程Sp_lock 查看鎖查看鎖 sp_lock spid SQL Server 的進程編號spid 可以在master.dbo.sysprocesses 系統(tǒng)表中查到,spid 是INT類型的數(shù)據(jù),如果不指定spid,則顯示所有的鎖。8.3.4 死鎖及其處理

27、死鎖及其處理 當某組資源的兩個或多個線程之間有循環(huán)相關性時,將發(fā)生死鎖。死鎖是在多用戶或多進程狀況下,為使用同一資源而產生的無法解決的爭用狀態(tài),通俗地講就是兩個用戶各占用一個資源,兩人都想使用對方的資源,但同時又不愿放棄自己的資源,就一直等待對方放棄資源。如果不進行外部干涉,就將一直耗下去。 死鎖會造成資源的大量浪費,甚至會使系統(tǒng)崩潰。 盡量避免并發(fā)地執(zhí)行涉及到修改數(shù)據(jù)的語句。 要求每個事務一次就將所有要使用的數(shù)據(jù)全部加鎖,否則就不予執(zhí)行。 預先規(guī)定一個封鎖順序,所有的事務都必須按這個順序對數(shù)據(jù)執(zhí)行封鎖。例如,不同的過程在事務內部對對象的更新執(zhí)行順序應盡量保持一致。 每個事務的執(zhí)行時間不可太長

28、,對程序段長的事務可考慮將其分割為幾個事務。8.4 監(jiān)監(jiān) 測測 SQL Server 2000 提供多種工具,監(jiān)測SQL Server 實例的性能以及在數(shù)據(jù)庫中發(fā)生的用戶活動。通過監(jiān)測可以使用戶確定數(shù)據(jù)庫應用程序是否按預期有效地運行,即使應用程序、數(shù)據(jù)庫和環(huán)境發(fā)生了變化。 8.4.1 系統(tǒng)性能評估及監(jiān)測系統(tǒng)性能評估及監(jiān)測 系統(tǒng)性能評估是指通過有效的網(wǎng)絡流量、磁盤I/O和CPU時間,可獲得最短的響應時間和最大的吞吐量,從而獲得最佳性能。 響應時間是這樣度量的:以可視的形式確認正在處理查詢并將結果集中的首行返回給用戶所需的時間長度;吞吐量是服務器在給定時間內處理的查詢總數(shù)的度量值。隨著用戶數(shù)的增加

29、,對服務器資源的競爭也隨之增加,轉而導致響應時間增加和總體吞吐量減少。 影響系統(tǒng)性能有以下幾個方面的因素: 系統(tǒng)資源(硬件)Microsoft Windows NT 4.0 和 Windows 2000 操作系統(tǒng)數(shù)據(jù)庫應用程序客戶端應用程序網(wǎng)絡 監(jiān)測以下幾個方面,便可以基本解決問題: SQL Server 存儲過程或用戶應用程序提交的批處理 SQL 語句用戶活動(如阻塞鎖或死鎖)硬件活動(如磁盤使用) 可以使用SQL 事件探查器監(jiān)視和解決 Transact-SQL問題以及與應用程序有關的問題??梢允褂孟到y(tǒng)監(jiān)視器監(jiān)視硬件問題和其他與系統(tǒng)有關的問題。8.4.2 性能監(jiān)測工具性能監(jiān)測工具 監(jiān)測應用程

30、序、SQL Server 實例或操作系統(tǒng)環(huán)境一般按照下面的流程操作。 確定監(jiān)視目標。 為要執(zhí)行的監(jiān)視類型選擇合適的工具。 使用工具監(jiān)視 SQL Server 或系統(tǒng)環(huán)境并分析捕獲的數(shù)據(jù)。 識別要監(jiān)視的事件。 事件確定所要監(jiān)視和捕獲的活動。選擇要監(jiān)視的事件取決于要監(jiān)視的目標和原因。例如,當監(jiān)視磁盤活動時,沒必要監(jiān)視 SQL Server 鎖。 確定要捕獲的事件數(shù)據(jù)。 事件數(shù)據(jù)描述事件發(fā)生時的每個實例。 具體選擇什么工具取決于監(jiān)測類型和要監(jiān)測的事件類型。SQL 事件探查器 SQL事件探查器能夠監(jiān)測服務器和數(shù)據(jù)庫活動,如死鎖數(shù)、嚴重錯誤、跟蹤存儲過程和Transact-SQL語句或登錄活動等。系統(tǒng)監(jiān)

31、視器 通過使用預定義對象和計數(shù)器或用戶定義的計數(shù)器監(jiān)測事件,監(jiān)測服務器的性能和活動。系統(tǒng)監(jiān)測器(Microsoft Windows NT4.0 中的性能監(jiān)測器)收集事件數(shù)而不是關于事件的數(shù)據(jù)(例如內存使用、活動事務數(shù)、阻塞的鎖數(shù)或 CPU 活動)。 當前活動窗口(SQL Server 企業(yè)管理器) 以圖形顯示有關當前正在 SQL Server 實例上運行的進程、被阻塞的進程、鎖和用戶活動的信息。 錯誤日志 除了在別處可用的信息外,還包含有關 SQL Server 中的事件的額外信息??梢岳缅e誤日志中的信息解決與 SQL Server 有關的問題。 sp_who 報告有關當前 SQL Serv

32、er 用戶和進程的快照信息,包括當前正在執(zhí)行的語句以及該語句是否被阻塞。 sp_lock 有關鎖的報表快照信息,包括對象 ID、索引 ID、鎖的類型和鎖應用的類型或資源。這是另一種在SQL Server 企業(yè)管理器的當前活動窗口中查看鎖活動的 Transact-SQL 方法。sp_spaceused 顯示對表(或整個數(shù)據(jù)庫)所使用的當前硬盤空間量的估計。這是另一種在 SQL Server 企業(yè)管理器內查看數(shù)據(jù)庫使用情況的 Transact-SQL 方法。sp_monitor 顯示統(tǒng)計,包括 CPU 使用、I/O 使用和自上次執(zhí)行 sp_monitor 后的空閑時間。DBCC 語句 能夠檢查性能

33、統(tǒng)計和數(shù)據(jù)庫的邏輯及物理一致性。 內置函數(shù) 顯示自服務器啟動后有關 SQL Server 活動的快照統(tǒng)計,這些統(tǒng)計存儲在預定義的 SQL Server 計數(shù)器內。 SQL 事件探查器存儲過程和函數(shù) 使用 Transact-SQL 存儲過程收集 SQL 事件探查器統(tǒng)計信息。跟蹤標記 顯示有關服務器內的特定活動的信息,用于診斷問題或性能問題(如死鎖鏈)。簡單網(wǎng)絡管理協(xié)議(SNMP) SNMP是一個提供網(wǎng)絡管理服務的應用程序協(xié)議。 事件或活動SQL 事件探查器系統(tǒng)監(jiān)視器當前活動窗口Transact-SQL錯誤日志趨勢分析是是重播捕獲的事件是特殊監(jiān)測是是是是生成警告是圖形界面是是是是在自定義應用程序內使用是是表表8-18-1要監(jiān)測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論