如何验证 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 键:
注意:确保将“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
|
有关其他信息,请单击下面的文章编号,以查看 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
返回页首
这篇文章中的信息适用于:
• | Microsoft SQL Server 2000 Desktop Engine (MSDE) |
• | Microsoft SQL Server 2000 64-bit Edition |
关键字: | kbhowtomaster KB322336 |
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、