当前位置:首页>>开发编程>>数据库>>新闻内容  
忘记SQL Server的SA用户密码解决方法
作者:网路游侠@youxia.org 发布时间:2005-9-25 11:48:18 | 【字体:

台式机和本本分别安装了MS SQL Server,方便做测试用
结果时间长了,台式机SQL Server的密码忘记了……
难道……没有办法了吗?——No!
经过一阵子郁闷,游侠在百度搜到了方法:
现在你的企业管理器当然是进不去了,但是我们还有查询分析器
验证的时候,选择按照Windows身份验证,就直接进去了……汗!
输入下列命令,执行:
exec sp_password null,'新密码','sa'
好了,现在密码已经改变了,到企业管理器看看 ^_^

下面是我在SQL Server的帮助看到的关于存储过程 sp_password的说明:

sp_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'


文章来源:youxia.org
·SQL Server中各种语句的完整语法
·如何压缩SQL Server 2005指定数据库文件和日志的大小?
·SQL Server 2005压缩数据库和日志文件的方法
·教你安全配置SQL Server 2000数据库
·如何在Windows XP上安装SQL Server 2000
·SQL Server数据库从2000还原为2005的步骤
·SQL Server数据库还原的SQL语句及操作
·SQL Server 2000导入SQL Server 2005生成脚本的问题
·在SQL Server 2005下还原数据库的一个错误解决
·在SQL Server 2005新建用户出15195错误
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我