版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何采用觸發(fā)器跟蹤對(duì)表的修改如何采用觸發(fā)器跟蹤對(duì)表的修改王黎明(2014032511:21)目標(biāo):通過(guò)觸發(fā)器把修改表字段的SQL語(yǔ)句保存下來(lái)。基礎(chǔ)知識(shí):表和控制臺(tái)命令說(shuō)明:master.sys.dm_exec_sessions是服務(wù)器范圍的視圖,顯示了有關(guān)所有活動(dòng)用戶連接和內(nèi)部任務(wù)的信息。此信息包含客戶端版本、客戶端程序名稱(chēng)、客戶端登錄時(shí)間、登錄用戶、當(dāng)前會(huì)話設(shè)置等。使用master.sys.dm_exec_sessions,首先可以查
2、看當(dāng)前的系統(tǒng)負(fù)荷并標(biāo)識(shí)相關(guān)會(huì)話,然后可以通過(guò)其他動(dòng)態(tài)管理視圖或動(dòng)態(tài)管理函數(shù)了解有關(guān)該會(huì)話的詳細(xì)信息。字段說(shuō)明見(jiàn)文檔最后的字段說(shuō)明。dbccinputbuffer(spid):顯示從客戶端發(fā)送到MicrosoftSQLServer的最后一個(gè)語(yǔ)句。@@SPID:當(dāng)前用戶連接數(shù)據(jù)庫(kù)進(jìn)程ID注意:1:master.sys.dm_exec_sessions在SQL2008R2和SQL2012服務(wù)器里表字段不一樣2:dbccinputbuffer(
3、)執(zhí)行后返回的結(jié)果沒(méi)法直接查詢(xún)和保存,只有通過(guò)創(chuàng)建個(gè)表來(lái)中轉(zhuǎn)數(shù)據(jù)3:因?yàn)榇擞|發(fā)器涉及的數(shù)據(jù)比較多,影響數(shù)據(jù)庫(kù)執(zhí)行效率,所以用于一段時(shí)間的數(shù)據(jù)監(jiān)控,檢測(cè)完后就關(guān)閉此觸發(fā)器觸發(fā)器:fromsys.triggerswherename=TRI_namesp_helptextTRI_TBZDKW查看觸發(fā)器內(nèi)容1:根據(jù)需要的信息創(chuàng)建一張表(TRI_TBZDKWXGJL)表的名稱(chēng)建議不要用TB開(kāi)頭,用TRI_開(kāi)頭來(lái)區(qū)分我們的HIS數(shù)據(jù)表名,用于保存最
4、后一次執(zhí)行SQL的記錄,表字段按需要的信息修改intoTRI_TBZDKWXGJLfrommaster.sys.dm_exec_sessionswhere1=2altertableTRI_TBZDKWXGJLaddcsqlvar(2000)執(zhí)行的SQL2:創(chuàng)建TRI_inputbuffer用于保存SQL語(yǔ)句createtableTRI_inputbuffer(ceventtypevar(100)cparametersvar(100)ce
5、ventinfovar(2000))3:刪除觸發(fā)器trigger[TRI_TBZDKW]4:創(chuàng)建觸發(fā)器(具體語(yǔ)法參照SQL幫助文檔,這里不做說(shuō)明)IFUPDATE(nsl)修改某個(gè)字段時(shí)才執(zhí)行BEGINDECLARE@ikcbmint@cypbmvar(40)@nhsldecimal(163)@nqsldecimal(163)@dsjdatetime@csqlvar(2000)@ikcbm=IKCBM@cypbm=CYPBM@nhsl=
6、NSL@dsj=GETDATE()FROMed修改后的值@nqsl=NSLFROMd修改前的值@csql=dbccinputbuffer(convert(var(10)@@SPID))exec(intoTRI_inputbuffer01(ceventtypecparametersceventinfo)exec(@csql))exec(intoTRI_YPKCXGJL01convert(var(20)@ikcbm)@cypbmconver
7、t(var(20)@nqsl)convert(var(20)@nhsl)GETDATE()(top1ceventinfofromTRI_inputbuffer01)frommaster.sys.dm_exec_sessionswheresession_id=@@SPID)exec(TRI_inputbuffer01)ENDendGO查看修改記錄:FROMTRI_YPKCXGJL01master.sys.dm_exec_sessions表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 觸發(fā)器語(yǔ)句
- sql觸發(fā)器實(shí)例
- sql server 2000觸發(fā)器
- oracle語(yǔ)句級(jí)觸發(fā)器
- sql中如何創(chuàng)建觸發(fā)器
- sql觸發(fā)器的使用及語(yǔ)法
- sql server2008觸發(fā)器學(xué)習(xí)筆記
- sql server 2005 學(xué)習(xí)筆記之觸發(fā)器簡(jiǎn)介
- sqlserver觸發(fā)器創(chuàng)建、刪除、修改、查看
- sql觸發(fā)器全過(guò)程(含實(shí)例講解)
- sql server2008觸發(fā)器練習(xí)題
- sql server觸發(fā)器存入遠(yuǎn)程數(shù)據(jù)庫(kù)
- 主從rs觸發(fā)器,jk觸發(fā)器
- 基本rs觸發(fā)器和d觸發(fā)器
- sql 2005 的存儲(chǔ)過(guò)程和觸發(fā)器調(diào)試大法(原創(chuàng))
- d觸發(fā)器&雙d觸發(fā)器
- 實(shí)驗(yàn)六 rs觸發(fā)器和d觸發(fā)器
- 觸發(fā)器總結(jié)
- ppt觸發(fā)器
- sql server存儲(chǔ)過(guò)程和觸發(fā)器操作實(shí)訓(xùn)講義
評(píng)論
0/150
提交評(píng)論