日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

T-SQL問題解決集錦——數據加解密(2)

系統 2389 0
原文: T-SQL問題解決集錦——數據加解密(2)

?

問題三、如何讓指定用戶可以對數據表進行Truncate操作?

???????? Truncate在對大表全刪除操作時,會明顯比Delete語句更快更有效,但是因為它不需要存放日志,并且一定是全表刪除,所以造成數據的不可恢復性。也說明了它的危險性。

???????? 但是,執行Truncate需要有表擁有者、系統管理員、db_owner、db_ddladmin這些里面的其中一種高權限角色才能執行。

???????? 對此,可以使用05之后的EXECUTE AS表達式來實現權限內容的切換:

1.??????切換登錄:EXECUTE AS LOGIN

2.??????切換用戶:EXECUTE AS USER

3.??????切換執行權限:EXECUTE AS owner/’user name’,利用高用戶權限來執行作業。此步驟可以在低權限實體下執行高權限操作,也能避免安全性漏洞。

另外,只有EXECUTE AS Caller可以跨數據庫執行,而其他方式進行的權限切換僅限制于本數據庫。

注意:執行EXECUTE AS USER模擬使用者切換時,需要先獲得被模擬用戶的授權。

可以使用REVERT來還原執行內容前的原始身份。

?

問題四、如何獲取前端連接的信息,如IP地址和計算機名?

???????? 對于DBA工作或者某些特殊的應用程序,需要獲取前端應用的系統信息。而這些信息如果用用戶表來存儲,代價會比直接讀取數據庫系統信息要大。所以建議適當讀取系統表:

???????? 在連接數據庫的session期間,都可以在master數據庫中找到session信息,但是從05開始,有了很多DMV/DMF來實現這些功能:

l? Master.dbo.sysprocesses或者master.sys.sysprocesses:提供執行階段的SPID、計算機名、應用程序名等。

l? Sys.dm_exec_sessions:記錄每個session的基本信息,包括id、計算機名、程序名、應用程序名等

l? Sys.dm_exec_connections:記錄每個連接到SQLServer實例的前端信息,包括網絡位置、連接時間等等。

l? select client_net_address 'Client IP Address' , local_net_address 'SQL ServerIP Address' ,*

l? from sys . dm_exec_connections

l? where session_id = @@spid

在2005以后,建議使用DMV取代系統表。

?

問題五、如何避免SQL注入的攻擊?

???????? 對于數據庫應用程序,無論是那種DBMS,SQL注入都是一大隱患。

???????? 要避免SQL注入,應該最起碼做到以下幾點:

1.??????檢查輸入的數據,應用程序不要相信用戶輸入的數據,必須經過檢驗后才能輸入數據庫。要排除%、--等特殊符號。

2.??????避免果度暴露錯誤信息。建議可以轉換成Windows事件或者是轉換成應用程序內部錯誤信息。

3.??????使用參數化查詢或者存儲過程

注意:

動態SQL是造成SQL注入的主兇

T-SQL問題解決集錦——數據加解密(2)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 高青县| 徐水县| 长岭县| 滦平县| 全州县| 新营市| 昂仁县| 阿坝县| 洛南县| 房产| 渝北区| 德令哈市| 凯里市| 和平县| 弥渡县| 长顺县| 乌兰县| 南溪县| 常德市| 凯里市| 鹤庆县| 扎赉特旗| 天津市| 通江县| 乌拉特前旗| 东明县| 济源市| 广丰县| 阿克陶县| 台中县| 高安市| 宝清县| 邻水| 璧山县| 清水县| 阿坝县| 盐边县| 顺昌县| 额济纳旗| 肃北| 新安县|