在msde中如果取消强密码的验证?

uheart 2008-12-15 10:16:34
我现在要把密码改成sa,但是系统告诉我必须是强密码,请问如何用sql语句去除强密码验证模式 谢谢
...全文
495 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
uheart 2008-12-15
  • 打赏
  • 举报
回复
注:2005数据库

CHECK_POLICY = { ON | OFF }
仅适用于 SQL Server 登录帐户。指定应对此登录帐户强制实施运行 SQL Server 的计算机的 Windows 密码策略。默认值为 ON。







SQL Server 2005 联机丛书

ALTER LOGIN (Transact-SQL) 发送反馈
请参阅
全部折叠全部展开 语言筛选器: 全部语言筛选器: 多语言语言筛选器: Visual Basic语言筛选器: C#语言筛选器: C++语言筛选器: J#语言筛选器: JScript

Visual Basic(Declaration)
C#
C++
J#
JScript

更改 SQL Server 登录帐户的属性。

Transact-SQL 语法约定

语法

ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ ,... ]
} <status_option> ::=
ENABLE | DISABLE

<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
| <secadmin_pwd_opt> [ <secadmin_pwd_opt> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<secadmin_pwd_opt> ::=
MUST_CHANGE | UNLOCK


备注
如果 CHECK_POLICY 更改为 ON,则将出现以下行为:

CHECK_EXPIRATION 也设置为 ON,除非它被显式设置为 OFF。


密码历史使用当前的密码哈希值初始化。


如果 CHECK_POLICY 更改为 OFF,则将出现以下行为:

CHECK_EXPIRATION 也设置为 OFF。


清除密码历史。


lockout_time 的值被重置。


如果指定 MUST_CHANGE,则 CHECK_EXPIRATION 和 CHECK_POLICY 必须设置为 ON。否则,该语句将失败。

如果 CHECK_POLICY 设置为 OFF,则 CHECK_EXPIRATION 不能设置为 ON。包含此选项组合的 ALTER LOGIN 语句将失败。

重要事项:
只有在 Windows Server 2003 及更高版本上才会强制执行 CHECK_EXPIRATION 和 CHECK_POLICY。


重要事项:
Windows Server 2003 中的一个已知问题可能会阻止错误密码计数在达到 LockoutThreshold 后重置。这可能会导致当后续登录尝试失败后立即锁定。可以通过暂时设置 CHECK_POLICY = OFF,然后设置 CHECK_POLICY = ON 来手动重置错误的密码计数。



参数
login_name
指定正在更改的 SQL Server 登录的名称。

ENABLE | DISABLE
启用或禁用此登录。

PASSWORD = 'password'
仅适用于 SQL Server 登录帐户。指定正在更改的登录的密码。

OLD_PASSWORD = 'oldpassword'
仅适用于 SQL Server 登录帐户。要指派新密码的登录的当前密码。

MUST_CHANGE
仅适用于 SQL Server 登录帐户。如果包括此选项,则 SQL Server 将在首次使用已更改的登录时提示输入更新的密码。

DEFAULT_DATABASE = database
指定将指派给登录的默认数据库。

DEFAULT_LANGUAGE = language
指定将指派给登录的默认语言。

NAME = login_name
正在重命名的登录的新名称。如果是 Windows 登录,则与新名称对应的 Windows 主体的 SID 必须匹配与 SQL Server 中的登录相关联的 SID。SQL Server 登录的新名称不能包含反斜杠字符 (\)。

CHECK_EXPIRATION = { ON | OFF }
仅适用于 SQL Server 登录帐户。指定是否对此登录帐户强制实施密码过期策略。默认值为 OFF。

CHECK_POLICY = { ON | OFF }
仅适用于 SQL Server 登录帐户。指定应对此登录帐户强制实施运行 SQL Server 的计算机的 Windows 密码策略。默认值为 ON。

CREDENTIAL = credential_name
将映射到 SQL Server 登录的凭据的名称。该凭据必须已存在于服务器中。

NO CREDENTIAL
删除登录到服务器凭据的当前所有映射。

UNLOCK
仅适用于 SQL Server 登录帐户。指定应解锁被锁定的登录。

权限
需要 ALTER ANY LOGIN 权限。

如果使用 CREDENTIAL 选项,则还需要 ALTER ANY CREDENTIAL 权限。

如果登录名是 sysadmin 固定服务器角色的成员或 CONTROL SERVER 权限的被授权者,则进行以下更改时还需要 CONTROL SERVER 权限:

在不提供旧密码的情况下重置密码。


启用 MUST_CHANGE、CHECK_POLICY 或 CHECK_EXPIRATION。


更改登录名。


启用或禁用登录。


将登录映射到其他凭据。


主体可更改用于自身登录的密码、默认语言以及默认数据库。

示例
A. 启用已禁用的登录
以下示例将启用 KittiLert 登录。

复制代码
ALTER LOGIN KittiLert ENABLE;


B. 更改登录密码
以下示例将 KittiLert 登录密码更改为 3948wJ698FFF7。

复制代码
ALTER LOGIN KittiLert WITH PASSWORD = '3948wJ698FFF7';


C. 更改登录名称
以下示例将 KittiLert 登录名称更改为 MacraeS。

复制代码
ALTER LOGIN KittiLert WITH NAME = MacraeS;


D. 将登录名映射到凭据
以下示例将登录名 MacraeS 映射到凭据 Custodian04。

复制代码
ALTER LOGIN MacraeS WITH CREDENTIAL = Custodian04;


请参阅
参考
CREATE LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
CREATE CREDENTIAL (Transact-SQL)


帮助和信息
获取 SQL Server 2005 帮助文档反馈
Microsoft 非常重视您的反馈。若要对该主题分级并将对该主题的反馈发送到文档编写组,请单击一个分级,再单击“发送反馈”。要想获得有关支持方面的问题的协助,请参阅包含在该产品中的技术支持信息。
不好 1
2
3
4
5
出色
若要将反馈通过电子邮件发送给 Microsoft,请单击此处:
(C) 2005 Microsoft Corporation。保留所有权利。
  • 打赏
  • 举报
回复
应该是策略的设置问题。
yesyesyes 2008-12-15
  • 打赏
  • 举报
回复
如果你是用windows验证

要到windows的密码策略中去改
dawugui 2008-12-15
  • 打赏
  • 举报
回复
不能取消吧.至少是空密码.
csdyyr 2008-12-15
  • 打赏
  • 举报
回复
改 MSDE sa 密码和登录验证模式
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.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧