SQL Server中使用sp_password重置SA密码实例
文件大小: 44k
源码售价: 10 个金币 积分规则     积分充值
资源说明:SQL2000的SA密码不能更改的解决方法,在更改sa的密码出现下面的错误: 代码如下:Error 21776: [SQL-DMO] The name ‘dbo’ was not found in the Users collection. If the name is a qualified name, use [] to separate various parts of the name, and try again. 解决方法:用SQl带的查询管理器连接到sql上,执行: 代码如下:EXEC sp_password NULL, ‘XXXXXX’, ‘sa’ 关于Sp_passwor 在SQL Server中,`sa`账户是一个非常特殊的系统管理员账户,拥有最高级别的权限。然而,有时用户可能会遇到无法更改`sa`密码的情况,比如在SQL Server 2000中出现错误21776。这个错误提示表示找不到名为'dbo'的用户,这通常是由于名称解析问题导致的。要解决这个问题,可以按照以下步骤操作: 1. 使用SQL Server自带的查询分析器(或SQL Server Management Studio)以一个具有足够权限的账户(如另一个sysadmin成员)连接到SQL Server。 2. 在查询窗口中执行存储过程`sp_password`来更改`sa`的密码。`sp_password`的语法如下: ```sql EXEC sp_password [ @old = ] 'old_password', [ @new = ] 'new_password', [ @loginame = ] 'login' ``` 其中: - `@old`参数代表旧密码,如果不需要提供旧密码,可以设置为NULL。 - `@new`参数是新密码,必须提供。 - `@loginame`参数是你要修改密码的登录名,这里是'sa'。 例如,要将`sa`的密码更改为'XXXXXX',你可以执行以下命令: ```sql EXEC sp_password NULL, 'XXXXXX', 'sa' ``` 这条命令会立即更改`sa`账户的密码,新密码以加密形式存储,无法直接查看。 注意,SQL Server的密码有长度限制,通常为1到128个字符,支持字母、数字和符号。而且,密码更改后,将以加密方式存储,即使sysadmin也无法直接查看明文密码。 如果是Windows NT集成身份验证的用户,他们的密码是与Windows NT账户同步的,所以必须在Windows NT控制台中更改这些用户的密码。`sp_password`不适用于此类用户。 另外,`sp_password`不应在用户定义的事务中执行,因为它涉及到系统级别的更改,可能会引发事务回滚等问题。 权限方面,任何用户都可以使用`sp_password`更改自己的登录密码,但要更改其他用户的密码,必须是sysadmin固定服务器角色的成员。 示例中的两个`EXEC sp_password`语句分别演示了如何在不提供旧密码(即直接更改)和提供旧密码的情况下更改登录密码。 了解这些知识点后,你也可以参考其他相关文章,如SQL Server如何更改`sa`用户名,或者解决SQL Server错误18456的登录失败问题,这些都可能是你在管理SQL Server时可能遇到的问题。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。