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

SQL Server 2012 驗證機制完整指南:Windows 驗證、SQL Server 驗證與混合模式設定實務

     編輯:關於SqlServer

身分驗證是資料庫安全的第一道防線。SQL Server 提供 Windows 整合驗證 與 SQL Server 驗證 兩大路徑,並可在執行個體層級設定 僅 Windows 模式 或 混合模式。本文系統說明兩種驗證模式運作原理、優缺點比較、SSMS 圖形介面與 T-SQL 實作建立登入/使用者的完整流程,並強調 `sa` 帳號安全強化要點。

驗證模式比較

維度Windows 驗證SQL Server 驗證
認證機制Windows 權杖 (NTLM/Kerberos)SQL Server 內建帳號/密碼
單一登入 (SSO)✅ 支援❌ 需個別輸入
密碼原則套用網域 GPO (複雜度、期限、鎖定)SQL Server 2005+ 可套用 Windows 密碼原則
稽核整合 Windows 安全性事件記錄獨立 SQL Server 稽核
跨平台/舊版相容需 Windows 2000+支援非 Windows 用戶端、舊版 App
安全性⭐⭐⭐⭐⭐ (微軟強烈建議)⭐⭐⭐ (需自行強化密碼)

設定伺服器驗證模式 (SSMS)

  1. 物件總管右鍵伺服器 → 屬性 → 安全性 頁籤。
  2. 選擇 SQL Server 和 Windows 驗證模式 (混合模式) 或 僅 Windows 驗證模式。
  3. 按確定 → 需重啟 SQL Server 服務生效。

伺服器屬性安全性頁籤設定驗證模式

建立 Windows 登入與資料庫使用者 (SSMS 圖形化)

  1. 展開 安全性 → 右鍵 登入 → 新增登入。
  2. 選 Windows 驗證 → 搜尋 選取網域使用者/群組。
  3. 預設資料庫 設為目標資料庫 (如 `AdventureWorks2012`),勿留 master。
  4. 使用者對應 頁籤:勾選目標資料庫 → 自動同名建立使用者 → 指定 預設結構描述 (如 `Sales`)。
  5. 狀態 頁籤:確認 授與連線權限、啟用 登入。

安全性節點下的登入資料夾

搜尋網域使用者

新增登入對話框一般頁

使用者對應頁籤

狀態頁籤授與連線

建立 SQL Server 登入 (SSMS / T-SQL)

SSMS: 同上,但選 SQL Server 驗證、輸入登入名稱與強式密碼。

T-SQL:

-- 建立 SQL 登入
CREATE LOGIN Tudou WITH PASSWORD = 'yBqyZIPT8}b]b[{5al0v';
GO

-- 建立資料庫使用者對應登入
USE AdventureWorks2012;
GO
CREATE USER Tudou FOR LOGIN Tudou WITH DEFAULT_SCHEMA = HumanResources;
GO

-- 如需不同資料庫使用者名稱
DROP USER Tudou;
CREATE USER TudouZ FOR LOGIN Tudou WITH DEFAULT_SCHEMA = HumanResources;
GO

密碼原則與帳號鎖定強化 (SQL Server 2005+)

於 新增登入 對話框勾選:

  • 強制密碼原則 (套用 Windows 複雜度、長度、歷程記錄)
  • 強制密碼到期 (定期輪換)
  • 使用者下次登入時必須變更密碼

T-SQL 控制:

-- 關閉密碼原則與到期檢查 (單一登入)
ALTER LOGIN Tudou WITH PASSWORD = '...', CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;

-- 解鎖被鎖定登入
ALTER LOGIN Tudou WITH PASSWORD = '...' UNLOCK;

登入屬性密碼原則選項

Windows 本地密碼原則預設值

Windows 帳號鎖定原則預設值

sa 系統管理員帳號安全強化 (關鍵)

  • 絕不可在應用程式連線字串使用 sa — 一旦應用被駭,攻擊者取得完整伺服器控制權。
  • 混合模式安裝時 務必設定高強度 sa 密碼。
  • 建議停用 sa 登入:登入屬性 → 狀態 → 拒絕連線 / 停用。
  • 建立專用低權限 SQL 登入供應用程式使用,遵循 最小權限原則。

建立 SQL Server 登入範例

核心觀念釐清

  • 登入 = 伺服器層級主體,控制能否連線伺服器。
  • 使用者 = 資料庫層級主體,控制能否存取資料庫物件。
  • 登入與使用者通常 1:1 對應,但可對應不同名稱。
  • 預設資料庫 ≠ 授權存取,必須在使用者對應頁明確授權。

掌握驗證模式選擇、登入/使用者建立、密碼原則套用與 sa 強化,即可建立符合企業安全基準的 SQL Server 存取控制體系。

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