身分驗證是資料庫安全的第一道防線。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: 同上,但選 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
於 新增登入 對話框勾選:
T-SQL 控制:
-- 關閉密碼原則與到期檢查 (單一登入)
ALTER LOGIN Tudou WITH PASSWORD = '...', CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;
-- 解鎖被鎖定登入
ALTER LOGIN Tudou WITH PASSWORD = '...' UNLOCK;




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