顽石

人生在勤,不索何获!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【转载】如何修改MSDE的登录方式及sa密码

Posted on 2010-06-01 18:02  顽石  阅读(1345)  评论(0编辑  收藏  举报

转载自:http://www.qtcn.org/blog/article.php?itemid-1222-type-blog.html
Microsoft SQL Desktop engine 2000 是一个常用的SQL支持数据库,但安装后其 sa 的默认密码为空,这样对数据安全有一定影响。因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式。步骤:
要注意的是要在切换了SQL的身份验证方式后才可以命令行修改密码。默认的SQL身份验证方式是Windows账户模式,要改为采用SQL身份验证。
要Windows账户身份验证模式切换到SQL的身份验证模式,请按以下步骤操作:
1. 先停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent)。
2. 打开注册表编辑器。
3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\MSSqlserver\\MSSqlServer
- 或者 -
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Microsoft SQL Server\\\\MSSQLServer\\
4. 在右窗格中,双击 LoginMode 子项。
5. 在 DWORD 编辑器对话框中,将此子项的值设置为 2。确保选择了 Hex 选项,然后单击确定。 (默认情况下,Windows LoginMode 注册表子项的值设置为 1。如果启用SQL的身份验证模式,则此值为 2。)
6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。至此,SQL验证模式切换完毕。
7、在运行菜单执行 CMD 命令先进入命令行模式
8、进入MSDE安装目录C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn目录
9、执行命令
osql -U sa -Q "sp_password NULL, \'password\', \'sa\'"
(其中 password 改为你要设置的密码,输入时注意单引号和双引号的格式)
10、之后会提示输入默认口令,直接按回车即可。密码修改成功。
修改了口令后不影响使用。如果要改密码步骤同上。此方法也可使用与命令行修改SQL2000企业版和专业版的sa口令。(前提是必须知道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 = \'password\', @loginame =\'sa\'
go
注意:确保将“password”替换为你的密码。
您将收到以下提示信息,表示已成功更改密码:
Password changed.