SqlServer服務(wù)中利用觸發(fā)器對指定賬戶進(jìn)行登錄ip限制提升安全性操作
轉(zhuǎn)眼間上次寫文章已經(jīng)是 2022年12月15日的事情啦,本來從2022年7月份開始寫作之后保持著每周一篇,然而從12月15日后斷更了這么久,經(jīng)歷了,隔離、陽、過年、從今天開始繼續(xù)堅(jiān)持寫作,本片文章給大家分享 SqlServer服務(wù)中利用觸發(fā)器對指定賬戶進(jìn)行登錄ip限制從而提升賬戶的安全性,這樣可以靈活的限制每個賬戶的允許登錄IP,類似于 PostgreSQL 中 pg_hba.conf 配置文件的功能,MySQL 則是在創(chuàng)建賬戶時可以配置賬戶允許登錄IP,下面記錄一下 SQLServer 如何實(shí)現(xiàn)。
在MySql數(shù)據(jù)庫中我們在創(chuàng)建一個新的用戶時是可以選擇這個用戶的可用連接ip的,比如localhost 或者 某個ip 甚至不做限制直接輸入 % 則表示這個用戶運(yùn)行任意IP遠(yuǎn)程連接,但是在微軟的MsSqlServer中在創(chuàng)建用戶時則沒有這樣的設(shè)置,但是有時候我們處于安全問題,想要限制某個賬戶只能通過某個IP訪問,通過防火墻設(shè)置的話會直接阻斷這個IP對所有賬戶的訪問,有點(diǎn)一棍子打死,不是我們想要的,這種情況下可以利用MsSqlServer數(shù)據(jù)庫中的觸發(fā)器來實(shí)現(xiàn)這個目的,當(dāng)用戶請求連接數(shù)據(jù)庫時會觸發(fā)我們提前寫好的規(guī)則進(jìn)行驗(yàn)證是否允許連接。
登陸數(shù)據(jù)庫服務(wù)器之后,新建查詢輸入如下代碼:
請?zhí)鎿Q代碼中的xiaoming為你想要限制的數(shù)據(jù)庫賬戶名稱
CREATE TRIGGER [tr_con_limit_xiaoming]
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
--限制xiaoming這個帳號的連接
IF ORIGINAL_LOGIN()= 'xiaoming'
--允許xiaoming在本機(jī)和下面的IP登錄
AND
(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))
NOT IN('','192.168.1.2','192.168.1.3')
ROLLBACK;
END;執(zhí)行之后就會創(chuàng)建一個叫做 tr_con_limit_xiaoming 的觸發(fā)器,如下圖

這樣 xiaoming 這個賬戶就只允許通過 本地 和 192.168.1.2 和 192.168.1.3 這兩個IP連接了。
至此關(guān)于 SqlServer服務(wù)中利用觸發(fā)器對指定賬戶進(jìn)行登錄ip限制提升安全性 就講解完了,有任何不明白的,可以在文章下面評論或者私信我,歡迎大家積極的討論交流,有興趣的朋友可以關(guān)注我目前在維護(hù)的一個 .NET 基礎(chǔ)框架項(xiàng)目,項(xiàng)目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git
到此這篇關(guān)于SqlServer服務(wù)中利用觸發(fā)器對指定賬戶進(jìn)行登錄ip限制提升安全性的文章就介紹到這了,更多相關(guān)SqlServer服務(wù)登錄ip限制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sql 版本詳解 讓你認(rèn)識跟sql2000的區(qū)別
如果你是初學(xué)者,如果你只是想要在家里學(xué)習(xí)學(xué)習(xí),如果你的環(huán)境是 WindowsXP Pro,那么,你應(yīng)該選擇的 是 SQL2005 Development(開發(fā)版),而不是 SQL2005 Enterprise (企業(yè)版)或 SQL2005 Express(簡易版)。2010-05-05
如何強(qiáng)制刪除或恢復(fù)SQLServer正在使用的數(shù)據(jù)庫
如何強(qiáng)制刪除或恢復(fù)SQLServer正在使用的數(shù)據(jù)庫...2007-01-01
SQL Server實(shí)現(xiàn)自動循環(huán)歸檔分區(qū)數(shù)據(jù)腳本詳解
最近在工作中遇到了關(guān)于sql server的一個問題,通過查找相關(guān)的資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于SQL Server如何實(shí)現(xiàn)自動循環(huán)歸檔分區(qū)數(shù)據(jù)腳本的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09
獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法
這篇文章主要介紹了獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法 ,需要的朋友可以參考下2015-08-08
SqlServer中查看當(dāng)前Open的Cursor方法
這篇文章主要介紹了SqlServer中查看當(dāng)前Open的Cursor方法,本文為了解決A cursor with thename ' ' already exists總結(jié)的幾個方法,需要的朋友可以參考下2015-07-07
MDF文件在SQL Server中的恢復(fù)技術(shù)
MDF文件在SQL Server中的恢復(fù)技術(shù)...2007-01-01
一個完整的SQL SERVER數(shù)據(jù)庫全文索引的示例介紹
以下是介紹SQL SERVER數(shù)據(jù)庫全文索引的示例,以pubs數(shù)據(jù)庫為例。需要的朋友參考下2013-07-07

