学院栏目导航: 业界新闻 网页设计 程序设计 数据库类 网络技术 操作系统 图形图像 办公软件 考试认证 多媒体类 硬件资讯

您的位置:首页-> 资讯中心-> 软件学院-> 数据库-> SQLServer-> SQL2000的SA密码不能更改的,还出错,怎么办?

→ SQLServer

  SQLServer
MySQL
Access
Sybase
Oracle
IBMDB2
PowerBuilder
其他数据库

广告专栏


本类阅读TOP10
·TOPN 子句与SET ROWCOUNTN 之对比
·讨论: SELECT TOP N 问题
·SQL Server 2000的安全配置
·Sql联合查询
·调整重心-从IIS到SQL Server数据库安全
·数据库升迁从sqlserver6.5到sqlserver2000
·SELECT查询的应用(三)
·SQL Server补丁安装常见问题
·MySQL中如何实现Top N及M至N段的记录查询?
·浅谈数据库的攻击

SQL2000的SA密码不能更改的,还出错,怎么办?

来源:海豚资讯 发表时间:2004-6-18 【ovo.com.cn

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.

就到微软看到这样的提示,利用Sp_password可以更改密码,一试,果然可以!
这样的:
用SQl带的查询管理器连接到sql上,执行一下命令
EXEC sp_password NULL, 'ok', 'sa'
哈哈,sa的密码就成了ok呢。

关于Sp_password具体信息如下:
p_password
添加或更改 Microsoft? SQL Server? 登录的密码。

语法
sp_password [ ][ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , ][ @loginame = ] 'login' ]

参数
[@old =] 'old_password'

是旧密码。old_password 为 sysname 类型,其默认值为 NULL。

[@new =] 'new_password'

是新密码。new_password 为 sysname 类型,无默认值。如果没有使用命名参数,就必须指定 old_password。

[@loginame =] 'login'

是受密码更改影响的登录名。login 为 sysname 类型,其默认值为 NULL。login 必须已经存在,并且只能由 sysadmin 固定服务器角色的成员指定。

返回代码值
0(成功)或 1(失败)

注释
SQL Server 密码可包含 1 到 128 个字符,其中可包括任何字母、符号和数字。

新密码以加密的形式更新和存储,因此,任何用户(甚至系统管理员)都不能查看密码。

当 sysadmin 或 securityadmin 固定服务器角色的成员使用带全部三个参数的 sp_password 重新设置他们自己的密码时,审核记录反映的却是他们正在更改别人的密码。

sp_password 不能用于 Microsoft Windows NT? 安全帐户。通过 Windows NT 网络帐户连接到 SQL Server 的用户是由 Windows NT 授权的,因此其密码只能在 Windows NT 中更改。

sp_password 不能在用户定义的事务中执行。

权限
执行权限默认地授予 public 角色,以供用户更改自己的登录密码。只有 sysadmin 角色的成员可更改其他用户的登录密码。

示例
A.无原密码的情况下更改登录密码
下面的示例将登录 Victoria 的密码更改为 ok。

EXEC sp_password NULL, 'ok', 'Victoria'

B.更改密码
下面的示例将登录 Victoria 的密码由 ok 改为 coffee。

EXEC sp_password 'ok', 'coffee'



※相关文章:

※相关软件: