共用方式為


選擇驗證模式

適用於:SQL Server

在安裝期間,您必須為資料庫引擎選取驗證模式。 有兩種可能的模式:Windows 驗證模式與混合模式。 Windows 驗證模式會啟用 Windows 驗證並停用 SQL Server 驗證。 混合模式會啟用 Windows 驗證及 SQL Server 驗證。 Windows 驗證一定可用而且無法停用。

設定驗證模式

如果您在安裝期間選取混合模式驗證 (SQL Server 和 Windows 驗證模式),就必須為名稱為 sa 的內建 SQL Server 系統管理員帳戶提供並確認增強式密碼。 sa 帳戶會使用 SQL Server 驗證進行連接。

如果您在安裝期間選取 Windows 驗證,安裝程式就會針對 SQL Server 驗證建立 sa 帳戶,但是此帳戶是停用的。 如果您之後變更為混合模式驗證,而且想要使用 sa 帳戶,就必須啟用此帳戶。 任何 Windows 或 SQL Server 帳戶都可以設定為系統管理員。 由於 sa 帳戶是已知的而且經常成為惡意使用者的攻擊目標,因此除非您的應用程式需要 sa 帳戶,否則請勿啟用此帳戶。 此外,絕對不可針對 sa 帳戶設定空白或弱式密碼。 若要從 Windows 驗證模式變更為混合模式驗證,並且使用 SQL Server 驗證,請參閱變更伺服器驗證模式

透過 Windows 驗證進行連接

當使用者透過 Windows 使用者帳戶連接時,SQL Server 會使用作業系統中的 Windows 主體 Token 來驗證帳戶名稱和密碼。 這代表 Windows 已確認使用者身分。 SQL Server 不會要求您輸入密碼,而且不會執行身分驗證。 Windows 驗證是預設的驗證模式,而且比 SQL Server 驗證更為安全。 Windows 驗證會使用 New Technology LAN Manager (NTLM) 和 Kerberos 安全性通訊協定,在增強式密碼的複雜驗證方面提供密碼原則強化,支援帳戶鎖定以及密碼逾期。 使用 Windows 驗證所建立的連接有時候稱為信任連接,因為 SQL Server 會信任 Windows 所提供的認證。

如需設定 Kerberos 的詳細資訊,請參閱註冊 Kerberos 連接的服務主體名稱

使用 Windows 驗證,可以在網域層級建立 Windows 群組,也可以在 SQL Server 建立整個群組的登入。 在網域層級管理存取可簡化帳戶管理。

重要

儘可能使用 Windows 驗證。

透過 SQL Server 驗證進行連接

使用 SQL Server 驗證時,系統會在 SQL Server 中建立不是以 Windows 使用者帳戶為基礎的登入。 使用 SQL Server 建立使用者名稱和密碼並儲存在 SQL Server 中。 使用 SQL Server 驗證進行連接的使用者必須在每次連接時提供其認證 (登入和密碼)。 使用 SQL Server 驗證時,所有 SQL Server 帳戶都必須設定增強式密碼。 如需增強式密碼的指導方針,請參閱 增強式密碼

有三個選擇性密碼原則可供 SQL Server 登入使用。

  • 使用者必須在下次登入時變更密碼

    要求使用者在下次連接時變更密碼。 變更密碼的能力是由 SQL Server Management Studio 提供。 如果使用這個選項,其他公司軟體開發人員應該提供這項功能。

  • 強制執行密碼逾期

    針對 SQL Server 登入強制執行電腦的最大密碼存在時間原則。

  • 強制執行密碼原則

    針對 SQL Server 登入強制執行電腦的 Windows 密碼原則。 這包括密碼長度和複雜性。 這項功能取決於 NetValidatePasswordPolicy API,而這個 API 只有 Windows Server 2003 和更新版本才有。

判斷本機電腦的密碼原則

  1. 在 [開始] 功能表上,選取 [執行]。

  2. 在 [執行] 對話方塊中,輸入 secpol.msc,然後選取 [確定]。

  3. 在 [本機安全性設定] 應用程式中,依序展開 [安全性設定] 和 [帳戶原則],然後選取 [密碼原則]。

    密碼原則就會描述在結果窗格中。

SQL Server 驗證的缺點

  • 如果某個使用者是擁有 Windows 登入和密碼的 Windows 網域使用者,則他們仍然必須提供其他 (SQL Server) 登入和密碼才能連線。 追蹤多個名稱和密碼對於許多使用者而言很困難。 此外,每次使用者連線到資料庫就必須提供 SQL Server 認證可能會造成困擾。

  • SQL Server 驗證無法使用 Kerberos 安全性通訊協定。

  • Windows 提供了不適用於 SQL Server 登入的其他密碼原則。

  • 加密的 SQL Server 驗證登入密碼在連線時必須透過網路傳遞。 自動連接的某些應用程式會將密碼儲存在用戶端。 這些是額外的攻擊點。

SQL Server 驗證的優點

  • 允許 SQL Server 支援舊版的應用程式,以及需要 SQL Server 驗證之第三方所提供的應用程式。

  • 允許 SQL Server 支援具有混合作業系統的環境,其中所有使用者都未獲得 Windows 網域驗證。

  • 可讓使用者從未知或未受信任的網域進行連線。 例如,可供既有客戶與指派之 SQL Server 登入連線,以接收訂單狀態的應用程式。

  • 允許 SQL Server 支援 Web 型應用程式,讓使用者可在其中建立自己的識別。

  • 可讓軟體開發人員散發其應用程式,方法是使用以已知預設的 SQL Server 登入作為基礎的複雜權限階層。

    注意

    使用 SQL Server 驗證不會限制本機管理員在已安裝 SQL Server 的電腦上所擁有的權限。