在數(shù)據(jù)庫(kù)使用過(guò)程中,為了數(shù)據(jù)的安全,除了通過(guò)服務(wù)器防火墻設(shè)置訪問(wèn)權(quán)限外,還可以通過(guò)在數(shù)據(jù)庫(kù)中通過(guò)創(chuàng)建觸發(fā)器的方式來(lái)控制用戶或特定IP的登錄權(quán)限。
USE master;
創(chuàng)建數(shù)據(jù)庫(kù)登錄賬號(hào)lg_test
CREATE LOGIN lg_test WITH PASSword = '3KH66587@';
賦予用戶查看服務(wù)狀態(tài)權(quán)限
GRANT VIEW SERVER STATE TO lg_test;
創(chuàng)建登錄觸發(fā)器,限制指定的IP192.168.0.83登陸數(shù)據(jù)庫(kù)
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER WITH EXECUTE AS 'lg_test'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'lg_test' AND
(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))
IN('192.168.0.83')
ROLLBACK;
END;
--刪除該登錄觸發(fā)器
drop TRIGGER connection_limit_trigger ON ALL SERVER






