如何查找 sqlserver sa 用户的密码
查询分析器,连接时,身份验证使用"使用windows身份验证"
然后,执行:
代码如下 | 复制代码 |
EXEC sp_password NULL, 'NewPassword', 'Sa' |
企业管理器-->实例名-->安全性-->登录-->双击右边的SA-->更改密码
丢失sqlserver SA用户密码的解决方法
用户操作失误造成密码丢失。有两种方法:
如果数据不多,可重装TNSDB数据库。如果只想找回密码,可将安装盘中的tnsdb.txt文件中的“
代码如下 | 复制代码 |
insert into tns_secu_user(c_user_name,c_user_pwd,c_user_code,i_user_type, c_expiry_date,c_user_lock,c_user_disa,c_who_crea,c_when_crea, c_who_modi,c_when_modi) values('sa','c12e01f2a13ff5587e1e9e4aedb8242d','',1,'','1','1','','','','') |
%”行。其中‘sa’后的‘c12e01f2a13ff5587e1e9e4aedb8242d’字串为sa的密码。
用他来替换tnsdb库中tns_secu_user表中的sa密码。字段为c_user_pwd.
其它朋友提供的方法
输入下列命令,执行: 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'