更改服务器身份验证模式

适用于SQL Server

本文介绍如何通过使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中更改服务器身份验证模式。 安装过程中, SQL Server 数据库引擎 设置为 “Windows 身份验证模式”“SQL Server 和 Windows 身份验证模式” 。 安装完成后,您可以随时更改身份验证模式。

如果在安装过程中选择了“Windows 身份验证模式”,则 登录名将被禁用,安装程序会分配一个密码。 如果稍后将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,则 登录名仍处于禁用状态。 若要使用 sa 登录名,请使用 ALTER LOGIN 语句启用 sa 登录名并分配一个新密码。 sa 登录名只能使用 SQL Server 身份验证连接到服务器。

注解

sa 帐户是一个已知的 SQL Server 帐户,并且经常成为恶意用户的攻击目标。 除非应用程序需要使用 sa 帐户,否则请不要启用它。 请务必为 sa 登录名使用强密码。

可使用 SSMS 或 Transact-SQL 启用 sa 登录。

  1. 在“对象资源管理器”中,依次展开“安全性”、“登录名”,右键单击“sa”,然后选择“属性”。

  2. 在“常规”页上,可能需要为 登录名创建密码并确认该密码。

  3. 在“状态”页上的“登录”部分,选择“已启用”,然后选择“确定”。

使用 SQL Server Management Studio 更改身份验证模式

  1. 在 SQL Server Management Studio (SSMS) 的对象资源管理器中,右键单击服务器,然后选择“属性”。

  2. 在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,然后选择“确定”。

  3. 在 SQL Server Management Studio 对话框中,选择“确定”接受重新启动 SQL Server 的要求。

  4. 在“对象资源管理器”中,右键单击服务器,然后选择“重新启动”。 如果运行有 SQL Server 代理,则也必须重新启动该代理。

示例

注意

下面的示例使用扩展存储过程来修改服务器注册表。 如果没有正确修改注册表,可能会出现严重问题。 这些问题可能需要你重新安装操作系统。 Microsoft 无法保证可以解决这些问题。 您应自行承担修改注册表的风险。

更改身份验证模式所需的权限为 sysadminCONTROL SERVER

答: 将身份验证更改为仅限 Windows

  1. 将服务器身份验证更改为仅限 Windows:

    USE [master];
    GO
    
    EXECUTE 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. 将服务器身份验证更改为混合模式:

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