中文字幕一二三区-久久久精品一区二区三区-xnxx国产-国产免费三片-欧美日韩国产91-玖玖玖视频-一区二区三区网-成人性生交大片免费看中文-日韩精品一区三区-精品国产乱码久久久久久1区二区-99国产高清

關(guān)于昂楷 WAP端banner
關(guān)于昂楷
關(guān)于復(fù)雜存儲過程中昂楷審計能力剖析
發(fā)布時間:2022.09.24  /  作者:昂楷科技

什么是存儲過程

存儲過程是SQL語句和控制語句的預(yù)編譯集合,保存在數(shù)據(jù)庫里,可由應(yīng)用程序調(diào)用執(zhí)行,而且允許用戶聲明變量、邏輯控制語句及其他強大的編程功能。存儲過程可以接受輸入?yún)?shù),并可具有輸出參數(shù),還可以返回單個或多個結(jié)果集。

_

存儲過程的優(yōu)點

1)允許模塊化程序設(shè)計

只需創(chuàng)建一次存儲過程并將其存儲在數(shù)據(jù)庫中,以后就可以在應(yīng)用程序中任意調(diào)用該存儲過程。存儲過程可由在數(shù)據(jù)庫編程方面有專長的人員創(chuàng)建,并可獨立于程序代碼而單獨修改。

2)改善性能

如果某操作需要大量的SQL語句或需要重復(fù)執(zhí)行,則用存儲過程比每次直接執(zhí)行SQL語句的速度要快。因為數(shù)據(jù)庫管理系統(tǒng)是在創(chuàng)建存儲過程時對SQL代碼進(jìn)行分析和優(yōu)化,并在第一次執(zhí)行時進(jìn)行語法檢查和編譯,將編譯好的可執(zhí)行代碼存儲在內(nèi)存的一個專門緩沖區(qū)中,以后再執(zhí)行此存儲過程時,只需直接執(zhí)行內(nèi)存中的可執(zhí)行代碼即可。

3)減少網(wǎng)絡(luò)流量

一個需要數(shù)百行SQL代碼完成的操作現(xiàn)在只需要一條執(zhí)行存儲過程的代碼即可實現(xiàn),因此,不再需要在網(wǎng)絡(luò)中傳送大量的代碼。

4)可作為安全機制使用

對于即使沒有直接執(zhí)行存儲過程中的語句權(quán)限的用戶,也可以授予他們執(zhí)行該存儲過程的權(quán)限。

_

存儲過程語法示例

CREATE OR REPLACE

PROCEDURE name [ (parameter [,parameter,…] ) ] IS //或AS

[說明:變量定義于此]

BEGIN

執(zhí)行語句序列

[EXCEPTION

例外處理程序

END [name ];

用戶通過create or repalce語句可以建立存儲于服務(wù)器端的存儲過程。存儲過程不能用于sql語句。(Procedures cannot be used in SQLstatements;)

Procedure有0或多個參數(shù),參數(shù)可是(IN), output (OUT), (IN OUT)

類型.

執(zhí)行存儲過程

set serveroutputon

直接執(zhí)行:

execute my_testproc

exec my_testproc

存儲過程里要返回一個結(jié)果集,就必須要用到游標(biāo)。那么什么是游標(biāo)呢?簡而言之,SQL語句返回的結(jié)果通常為數(shù)據(jù)集,而游標(biāo)可以在此基礎(chǔ)上,像一個指針一樣,對某些行結(jié)果進(jìn)行處理。

適用場景

1)某些場景下,針對SELECT返回的集合,需要進(jìn)行逐行讀取,或者針對行數(shù)據(jù)進(jìn)行某些操作。

2)在某些交互式程序中,集合不能作為有效的處理單元,這時候需要有針對的逐行或者部分進(jìn)行處理。

_

存儲過程審計的難點

審計類產(chǎn)品是基于旁路流量鏡像進(jìn)行工作的,需要抓取網(wǎng)絡(luò)中數(shù)據(jù)庫的流量進(jìn)行解析還原,前面有講到存儲過程的優(yōu)點有一條是減少網(wǎng)絡(luò)流量,執(zhí)行存儲過程在網(wǎng)絡(luò)傳輸?shù)闹皇谴鎯^程的名稱和參數(shù),具體的存儲過程封裝的SQL內(nèi)容實際是在服務(wù)器本地執(zhí)行的,沒有相應(yīng)的流量,所以只能審計到執(zhí)行存儲過程的動作,不能抓取到SQL,目前是業(yè)界難題。

_

復(fù)雜存儲過程審計能力實踐

昂楷某客戶的業(yè)務(wù)系統(tǒng)使用大量存儲過程語法,SQL翻譯效果不直觀,影響可讀性,昂楷迎難而上,攻克了針對存儲過程深度解析的難題,提取出存儲過程的參數(shù)和值,重點是從存儲過程中審計出藥品相關(guān)的值,并配合翻譯功能,展現(xiàn)可讀性較好的中文描述信息。

翻譯效果:用戶[李明X] IP為[192.168.100.32]計算機用戶名[Administrator] 上調(diào)用了[西藥庫藥品明細(xì)賬查詢]窗口, 查詢內(nèi)容是{藥房:西藥庫;項目:注射用艾普拉唑鈉; 出入庫類型:采購入庫;至:

to_date(‘2022-05-01 00:00:00’,’yyyy/mm/dd hh24:mi:ss’),至:

to_date(‘2022-05-15 00:00:00’,’yyyy/mm/dd hh24:mi:ss’),}

昂楷審計產(chǎn)品(數(shù)據(jù)庫審計、防統(tǒng)方)能夠?qū)QL Server、Oracle、DB2、Sybase、MySQL 等數(shù)據(jù)庫進(jìn)行審計,審計的行為包括DDL、DML、DCL以及其它操作等行為。

審計的內(nèi)容可以細(xì)化到庫、表、記錄、用戶、存儲過程、函數(shù)、游標(biāo)、調(diào)用參數(shù)等等。檢驗一款數(shù)據(jù)庫審計產(chǎn)品的標(biāo)準(zhǔn),不僅要能滿足常規(guī)的SQL審計,還要能滿足復(fù)雜SQL,如存儲過程、綁定變量、嵌套語句、函數(shù)、超長語句、腳本的審計,這樣才能做到真正的完整審計。


即刻免費體驗昂楷安全防護(hù)
服務(wù)通道