變更伺服器驗證模式

適用於:SQL Server

本文描述如何使用 SQL Server Management Studio 或 Transact-SQL,變更 SQL Server 中的伺服器驗證。 在安裝期間,SQL Server 資料庫引擎會設定為 [Windows 驗證模式] 或 [SQL Server 和 Windows 驗證模式]。 安裝後,您可以隨時變更驗證模式。

如果您在安裝期間選取了 [Windows 驗證模式],sa 登入便會停用,且安裝程式會指派密碼。 即使稍後將驗證模式改成 [SQL Server 和 Windows 驗證模式],sa 登入也會保持停用狀態。 若要使用 sa 登入,請使用 ALTER LOGIN 陳述式啟用 sa 登入並指派新密碼。 sa 登入只能使用 SQL Server 驗證連線到伺服器。

備註

sa 帳戶是已知的 SQL Server 帳戶,經常是惡意使用者的攻擊目標。 除非您的應用程式需要 sa 帳戶,否則請勿將其啟用。 請務必使用增強式密碼進行 sa 登入。

使用 SQL Server Management Studio 變更驗證模式

  1. 在 SQL Server Management Studio (SSMS) 物件總管中、以滑鼠右鍵按一下伺服器,然後選取 [屬性]。

  2. 在 [安全性] 頁面上的 [伺服器驗證] 下,選取新的伺服器驗證模式,然後選取 [確定]。

  3. 在 [SQL Server Management Studio] 對話方塊中,選取 [確定] 以確認重新啟動 SQL Server 的需求。

  4. 在物件總管中,以滑鼠右鍵按一下伺服器,然後選取 [重新啟動]。 如果 SQL Server Agent 正在執行,也必須將其重新啟動。

啟用 sa 登入

您可以使用 SSMS 或 Transact-SQL 啟用 sa 登入。

使用 SSMS

  1. 在物件總管中,依序展開 [安全性] 和 [登入],並以滑鼠右鍵按一下 [sa],然後選取 [屬性]。

  2. [一般] 頁面上,您可能需要為 sa 登入建立並確認密碼。

  3. 在 [狀態] 頁面上的 [登入] 區段中選取 [已啟用],然後選取 [確定]。

使用 Transact-SQL

下列範例會啟用 sa 登入並設定新密碼。 請先使用強式密碼取代 <enterStrongPasswordHere> 再執行。

ALTER LOGIN sa ENABLE;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>';
GO

範例

警告

下列範例會使用擴充預存程序來修改伺服器登錄。 若未正確修改登錄,可能會發生嚴重的問題。 這些問題可能會需要您重新安裝作業系統。 Microsoft 不保證能解決這些問題。 修改登錄的風險請自負。

變更驗證模式所需的權限為 sysadminCONTROL SERVER

A. 將驗證變更為僅限 Windows

  1. 將伺服器驗證變更為僅限 Windows:

    USE [master]
    GO
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
         N'Software\Microsoft\MSSQLServer\MSSQLServer',
         N'LoginMode', REG_DWORD, 1;
    GO
    
  2. 停用 sa 帳戶:

    USE [master]
    GO
    
    ALTER LOGIN sa DISABLE;
    GO
    

B. 將驗證變更為混合模式 (Windows 和 SQL)

  1. 啟用 sa 帳戶並設定強式密碼:

    USE [master]
    GO
    
    ALTER LOGIN sa ENABLE;
    GO
    
    ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>';
    GO
    
  2. 將伺服器驗證變更為混合模式:

    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode', REG_DWORD, 2;
    GO