SQL Server 2008 R2 版本如何找回sa密码?

祐樹 2011-09-27 05:15:45
先前设定的sa密码忘记了,如何找回?试了网上给出的各种答案都没法处理,用windows账户登陆修改也不行,求帮助!
...全文
6888 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
z5wjz 2013-11-05
  • 打赏
  • 举报
回复
重建master数据库吧
清风_X 2013-08-23
  • 打赏
  • 举报
回复
看看老外的解决方法吧 http://v-consult.be/2011/05/26/recover-sa-password-microsoft-sql-server-2008-r2/
liang199122 2012-07-13
  • 打赏
  • 举报
回复
估计你这问题早就解决了,不过还是留给后面的同学参考吧,
我的解决方法是参照下面连接http://hi.baidu.com/hongfeisong/item/072ef40ce2caa7113b53ee81
wenxiaodong1992 2012-06-16
  • 打赏
  • 举报
回复
你们的方法俺们都用了,不管用,怎么办
jmx123456789 2011-12-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
SQL code

不知道sa密码的解决办法

那就通过修改注册表来解决此问题:
[/Quote]
大神! mark
CHRXC 2011-12-26
  • 打赏
  • 举报
回复
用windows账户也登不上去咋办呢
大力水手 2011-11-08
  • 打赏
  • 举报
回复

--创建windows 登录账户
create login [computer_name\administrator] from windows
with default_databse=master

exec sp_password null,'1@aBcde!' 'sa'


pengxuan 2011-11-08
  • 打赏
  • 举报
回复
不知道sa密码的解决办法

那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.


改的这个注册表是不是更改成SQL Server和Windows登录模式
liaofurong 2011-11-07
  • 打赏
  • 举报
回复
修改sa的密码

运行
exec sp_password null ‘123456’ ‘sa’
祐樹 2011-09-30
  • 打赏
  • 举报
回复

use master
go
exec sp_password null,'新密码','sa'
go


这个方法可在SQL Server安装的Windows账户下使用。如果我变更了Windows账户,就不行。

例如:我在“ayumiwang”的Windows用户下安装了SQL Server,我将登陆用户换成administraor就会提示“没有权限”
gold_water 2011-09-28
  • 打赏
  • 举报
回复
路过,学习。
祐樹 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fredrickhu 的回复:]
引用 6 楼 ayumiwang 的回复:
如果我更换了windows登陆账户名是否会造成 windows登陆也没法修改sa密码?


你的操作系统是 ADMINISTRATOR不??如果是的话 用WINDOWS登陆进去修改就不会有问题
[/Quote]

我修改时会提示15151的错误
--小F-- 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ayumiwang 的回复:]
如果我更换了windows登陆账户名是否会造成 windows登陆也没法修改sa密码?
[/Quote]

你的操作系统是 ADMINISTRATOR不??如果是的话 用WINDOWS登陆进去修改就不会有问题
祐樹 2011-09-28
  • 打赏
  • 举报
回复
如果我更换了windows登陆账户名是否会造成 windows登陆也没法修改sa密码?
祐樹 2011-09-28
  • 打赏
  • 举报
回复
胡大人露面啦~
--小F-- 2011-09-27
  • 打赏
  • 举报
回复
只要有权限 用WINDOWS登陆可以修改密码
dawugui 2011-09-27
  • 打赏
  • 举报
回复
不知道sa密码的解决办法

那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.


一个SQL Server Sa密码破解的存储过程
上一篇 / 下一篇 2009-02-05 17:30:05 / 个人分类:SQL Server技术

查看( 165 ) / 评论( 1 ) / 评分( 0 / 0 )
一个SQL Server Sa密码破解的存储过程:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_GetPassword]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_GetPassword]

GO


/*--穷举法破解 SQL Server 用户密码


可以破解中文,特殊字符,字符+尾随空格的密码

为了方便显示特殊字符的密码,在显示结果中,显示了组成密码的ASCII


理论上可以破解任意位数的密码

条件是你的电脑配置足够,时间足够



/*--调用示例


exec p_GetPassword

--*/

create proc p_GetPassword

@username sysname=null, --用户名,如果不指定,则列出所有用户

@pwdlen int=2 --要破解的密码的位数,默认是2位及以下的

as

set @pwdlen=case when isnull(@pwdlen,0)<1 then 1 else @pwdlen-1 end

select top 255 id=identity(int,0,1) into #t from syscolumns

alter table #t add constraint PK_#t primary key(id)


select name,password

,type=case when xstatus&2048=2048 then 1 else 0 end

,jm=case when password is null then 1 else 0 end

,pwdstr=cast('' as sysname)

,pwd=cast('' as varchar(8000))

into #pwd

from master.dbo.sysxlogins a

where srvid is null

and name=isnull(@username,name)


declare @s1 varchar(8000),@s2 varchar(8000),@s3 varchar(8000)

declare @l int

select @l=0

,@s1='char(aa.id)'

,@s2='cast(aa.id as varchar)'

,@s3=',#t aa'

exec('

update pwd set jm=1,pwdstr='+@s1+'

,pwd='+@s2+'

from #pwd pwd'+@s3+'

where pwd.jm=0

and pwdcompare('+@s1+',pwd.password,pwd.type)=1

')

while exists(select 1 from #pwd where jm=0 and @l<@pwdlen)

begin

select @l=@l+1

,@s1=@s1+'+char('+char(@l/26+97)+char(@l%26+97)+'.id)'

,@s2=@s2+'+'',''+cast('+char(@l/26+97)+char(@l%26+97)+'.id as varchar)'

,@s3=@s3+',#t '+char(@l/26+97)+char(@l%26+97)

exec('

update pwd set jm=1,pwdstr='+@s1+'

,pwd='+@s2+'

from #pwd pwd'+@s3+'

where pwd.jm=0

and pwdcompare('+@s1+',pwd.password,pwd.type)=1

')

end

select 用户名=name,密码=pwdstr,密码ASCII=pwd

from #pwd

go


-晴天 2011-09-27
  • 打赏
  • 举报
回复
试试用 windows 管理员身份登录 windows,然后直接用 windows 用户进入系统,如能,再改 sa 密码.
nzperfect 2011-09-27
  • 打赏
  • 举报
回复
用windows账户没有sql 的 sysadmin权限?

34,836

社区成员

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

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