首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

限制 SQL Server 客戶端 IP 存取:防火牆、端點、登入觸發器三種實作

     編輯:關於SqlServer

僅允許特定 IP 連線 SQL Server,三種做法:

1. 防火牆層級(最簡單)

僅開放指定 IP 的 1433 通訊。建議修改預設連接埠提高安全性。

2. SQL Server 2005 端點限制(需專用網卡)

-- 停用預設 TCP 端點
ALTER ENDPOINT [TSQL Default TCP] STATE = STOPPED;

-- 建立新端點綁定特定 IP (192.168.1.1)
CREATE ENDPOINT [TSQL User TCP]
STATE = STARTED
AS TCP (LISTENER_PORT = 1433, LISTENER_IP = (192.168.1.1))
FOR TSQL();

-- 授權 public 使用
GRANT CONNECT ON ENDPOINT::[TSQL User TCP] TO [public];

僅透過該網卡 IP 連入的用戶端能存取;可改授權特定登入帳號。

3. 登入觸發器(SQL 2005 SP2+)

CREATE TRIGGER tr_LoginCheck ON ALL SERVER FOR LOGON AS
BEGIN
    IF ORIGINAL_LOGIN() NOT IN ('allowed_login') -- 或檢查 CLIENT_HOST()
        ROLLBACK;
END;

範例:封鎖非 192.168.1.1 的連線。靈活可程式化,但需注意效能與鎖定風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved