风险投资属于哪个专业:我把ms sql的管理员弄丢了,怎么办啊?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 00:30:42
我的ms sql2000数据库原来是用本地WINDOWS系统账户登录的,现在不慎把系统管理员账户删掉了,而原来的sa账户虽然有,但是密码找不到了。

现在只有一个普通的访问一个库的账户,怎么能把它升级成系统管理员啊?

真的不想重建数据库了。。。。

对我这个菜鸟管理员来说,这是个难题,可是对黑客们来说似乎很容易啊。
给指点指点吧!!!!!!
能不能在注册表里把管理员'builtin\administrators' 添加上啊??????

既然楼主还关注这个问题,那我把方法说出来。
要修复sa密码,需要另外一台机子装了SQL SERVER2000
并且对方的版本跟你的一样,比如,如果你打了sp4,而他没打,最好不要尝试。如果尝试的话,一定要把你的master数据库的数据库文件进行拷贝备份。另外需要你知道对方的sa密码。

以下我把对方称为B
首先把你的SQL SERVER服务停止,复制master数据库的数据文件和日志文件到B的机器上。比如放到B的D:盘根目录下。一般master数据库的数据文件和日志文件分别是master.mdf、mastlog.ldf

然后在B的机器上以sa权限进入查询分析器界面,执行以下语句

exec sp_attach_db 'master2','D:\master.mdf','D:\mastlog.ldf'

exec sp_configure 'allow updates',1

RECONFIGURE WITH OVERRIDE

update master2.dbo.sysxlogins
set password=b.password
from master2.dbo.sysxlogins a,sysxlogins b
where a.srvid is null and b.srvid is null and a.name='sa' and b.name='sa'

dbcc shrinkdatabase ('master2',truncateonly)

exec sp_detach_db 'master2'

exec sp_configure 'allow updates',0

RECONFIGURE WITH OVERRIDE

执行完语句后,你复制过去的数据文件的sa密码已经被修改成和B机器上sa密码相同的了。

之后把你的数据文件和日志文件拷回你机器的原来数据库所在的目录下,注意覆盖原来的文件之前,最好把原文件改名,如果出现问题,不至于使master数据库被损坏。

然后启动SQL SERVER服务,就可以用B的sa密码登陆了。

步骤可能比较麻烦,我也是分享一下解决问题的思路。如果你觉得有困难可以把master数据库发给我,我来帮你修改也可以。
另外SQL SERVER的所有登录帐号都是存放在系统表里边的,不能通过修改注册表解决。

在安装sqlserver的机器上,进sqlserver2000的企业管理器,打开本地数据库,数据库-安全性-登录,在右边的窗口里找到sa,然后右键-属性,就可以修改密码。

你添加系统管理员不就可以了?