更改服务器身份验证模式

适用于: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 代理,则也必须重新启动该代理。

启用 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