SQL 2005 sql登录ip限制

ger*_*eim 2 sql-server security login

有没有办法限制Microsoft SQL Server 2005上的特定SQL 2005登录,标准版本(sql处于混合模式)到特定的IP地址,而其他登录,Windows认证的登录,不受影响?

小智 5

我使用以下触发器来限制对特定登录的访问 - IP组合.

CREATE TRIGGER [LOGIN_IP_RESTRICTION]
    ON ALL SERVER FOR LOGON
AS
BEGIN
    DECLARE @host NVARCHAR(255);

    SET @host = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'nvarchar(max)');

    IF(EXISTS(SELECT * FROM master.dbo.IP_RESTRICTION 
        WHERE UserName = SYSTEM_USER))
    BEGIN
        IF(NOT EXISTS(SELECT * FROM master.dbo.IP_RESTRICTION 
            WHERE UserName = SYSTEM_USER AND ValidIP = @host))
        BEGIN
            ROLLBACK;
        END
    END
END;
Run Code Online (Sandbox Code Playgroud)

表IPL_RESTRICTION的DDL:

CREATE TABLE [dbo].[IP_RESTRICTION](
    [UserName] [varchar](255) NOT NULL,
    [ValidIP] [varchar](15) NOT NULL,
    [Comment] [nvarchar](255) NULL,
 CONSTRAINT [PK_IP_RESTRICTION] PRIMARY KEY CLUSTERED 
([UserName] ASC, [ValidIP] ASC) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)