限制sa 登入IP
阿新 • • 發佈:2020-09-12
MSSQL-SA賬號安全限制
約定規則:
觸發器名稱:forbiddensa
執行DB:
master
1.刪除觸發器
drop trigger forbiddensa on ALL server ;
2.構建觸發器
CREATE TRIGGER forbiddensa ON ALL SERVER WITH EXECUTE AS 'sa' FOR LOGON AS BEGIN --選擇sa使用者進行限制: IF ORIGINAL_LOGIN() = 'sa' AND --允許sa在本機登入 ( SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)') ) NOT IN ( '<local machine>', '127.0.0.1', '192.168.1.181', '192.168.1.176', '192.168.101.85' ) --NOT IN('<local machine>','127.0.0.1','192.168.1.181','192.168.101.85') BEGIN ROLLBACK; END; END; GO
指令碼說明:需要放行的IP就放到IP清單後面
3.安全測試
在未指定IP的機子裡面連線當前SQL服務時,基於合理的提示,則說明安全設定成功,具體提示如下:
4.檢視連線
SELECT a.[session_id], a.[login_time], a.[host_name], a.[original_login_name], b.[client_net_address] FROM master.sys.dm_exec_sessions a INNER JOIN master.sys.dm_exec_connections b ON a.session_id = b.session_id;
5.測試反饋
測試Ok