HOW TO:验证和更改 MSDE 系统管理员密码

文章翻译 文章翻译
文章编号: 322336 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文分步讨论了可用于更改 SQL Server sa(系统管理员)密码的步骤。

可以将 Microsoft SQL Server Desktop Engine (MSDE) 2000 版本或更早版本配置为在混合身份验证模式下运行。sa 帐户在安装过程中创建,并且 sa 具有在 SQL Server 环境中的完全权限。默认情况下,sa 密码为空 (NULL),除非您在运行 MSDE 安装程序时更改了该密码。为符合安全最佳方案的要求,必须在第一次使用时将 sa 密码更改为强密码。

如何验证 SA 密码是否为空

  1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
  2. 在命令提示符处键入以下命令,然后按 Enter 键:

    osql -U sa

    这样可以通过 sa 帐户连接到 MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入:

    osql -U sa -S servername\instancename

    随即将出现以下提示:

    Password:
  3. 再次按 Enter 键。此操作将为 sa 传递一个 NULL(空)密码。

    如果按 Enter 键后出现以下提示,则您对 sa 帐户没有密码:

    1>

    为了符合安全方案的要求,Microsoft 建议您创建非空的强密码。

    但是,如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为 sa 帐户创建了密码:
    "Login Failed for user 'sa'."
    以下错误信息表示运行 SQL Server 的计算机设置为只限 Windows 身份验证:
    Login failed for user 'sa'.Reason:Not associated with a trusted SQL Server connection.
    在 Windows 身份验证模式下无法验证 sa 密码。但可以创建 sa 密码,以便 sa 帐户在以后身份验证模式更改为混合模式时仍然是安全的。

    如果您收到以下错误信息,则表示 SQL Server 可能未运行,或者您可能为安装的 SQL Server 的命名实例提供了错误名称:
    [Shared Memory]SQL Server does not exist or access denied.
    [Shared Memory]ConnectionOpen (Connect()).

如何更改 SA 密码

  1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
  2. 键入下面的命令,然后按 Enter 键:

    osql -U sa

    Password:提示符下,按 Enter 键(如果密码为空)或键入当前密码。这样可以使用 sa 帐户连接到 MSDE 的本地默认实例。要使用 Windows 身份验证进行连接,请键入此命令: use osql -E

  3. 在各个单独的行内键入下列命令,然后按 Enter 键:
       sp_password @old = null, @new = 'complexpwd',  @loginame ='sa' 
       go
    						

    注意:确保将“complexpwd”替换为新的强密码。强密码包括字母数字和特殊字符以及大小写字符的组合。

    您将收到以下提示信息,表示已成功更改密码:
    Password changed.

如何确定或更改身份验证模式

重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。


如果不能确定如何验证 MSDE 安装的身份验证模式,可以查看相应的注册表项。默认情况下,对于 Windows 身份验证,Windows LoginMode 注册表子项的值设置为 1。如果启用了混合模式身份验证,则此值为 2。

  • LoginMode 子项的位置取决于您是将 MSDE 作为默认 MSDE 实例安装还是作为命名实例安装。如果 MSDE 是作为默认实例安装的,则 LoginMode 子项位于以下注册表子项中:
    HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
  • 如果 MSDE 是作为命名实例安装的,则 LoginMode 子项位于以下注册表子项中:
    HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
注意:切换身份验证模式之前,必须设置 sa 密码,以免暴露潜在的安全漏洞。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274773 FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank
要从混合模式切换到集成 (Windows) 身份验证模式,请按以下步骤操作:
  1. 要停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent),请在“控制面板”中打开服务程序。
  2. 打开注册表编辑器。要打开注册表编辑器,请依次单击开始运行,然后键入:“regedt32”(不包括引号)

    单击确定

  3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer

    - 或者 -

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\
  4. 在右窗格中,双击 LoginMode 子项。
  5. DWORD 编辑器对话框中,将此子项的值设置为 1。确保选择了 Hex 选项,然后单击确定
  6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。

SQL Server 安装的最佳安全方案

下面的每一项都会增强系统的安全性,并且它们都属于任何 SQL Server 安装的标准安全“最佳方案”。
  • 使用非空密码保护 sa 登录帐户。有些蠕虫程序仅当您未对 sa 登录帐户采取安全措施时才会发作。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    313418 PRB:使用空 (NULL) SA 密码的非安全的 SQL Server 会给蠕虫程序以可乘之机
    因此,要确保内置 sa 帐户具有强密码,必须按照 SQL Server 联机丛书的“系统管理员 (SA) 登录”主题中的建议进行操作(即使您从未直接使用 sa 帐户)。
  • 阻塞位于 Internet 网关的端口 1433,然后分配 SQL Server 侦听备用端口。
  • 如果在 Internet 网关上必须使用端口 1433,请启用进出过滤功能以防止误用端口。
  • 在 Microsoft Windows NT 帐户(而非本地系统帐户)下运行 SQLServer 服务和 SQL Server 代理。
  • 启用 Microsoft Windows NT 身份验证,然后启用对成功和失败登录的审核。然后,停止并重新启动 MSSQLServer 服务。配置您的客户端使用 Windows NT 身份验证。

参考

有关空 sa 密码如何被利用的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
313418 PRB:使用空 (NULL) SA 密码的非安全的 SQL Server 会给蠕虫程序以可乘之机
有关在身份验证模式更改时 SQL Server 2000 Service Pack 1 后续版本行为更改的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274773 FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank

属性

文章编号: 322336 - 最后修改: 2011年5月13日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Express Edition
关键字:?
kbsqldeveloper kbhowtomaster KB322336
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com