Sybase数据库修复及"sa"用户口令的恢复
SYBASE数据库管理系统中数据库损坏后,重新建立数据库的时间比较长,这将给应用(特别是对时间要求特别严格的应用,如金融、证券等)造成很大的损失。而如果在应用中遗忘超级用户sa口令,更会给系统管理带来极大的不便,甚至很多操作都无法进行。本文介绍一种简便的修复SYBASE数据库及恢复sa口令的方法。以下假定server能正常启动,server名为SYBASE,数据库名为demodb
一、修复SYBASE数据库 分为两种情况:
1.数据库所用的设备正常,而库demodb的状态为suspect
1)以sa注册
isql -u sa -P
1>
2)修改server属性,置系统表为允许修改该状态。
1>sp_configure "allow updates",1
2>go
3>recofigure with override
4>go
3)修改数据库的状态,置数据库状态为server启动时不检测。
1>update master.sysdatabases set status = -32768
2>where name = "demodb"
3>go
4)重启server
5)修改数据库的状态,置数据库状态为正常。
1>update master.sysdatabases set status = 0
2>where name ="demodb"
3>go
6)修改server属性,置系统表为不允许修改状态。
1>sp_configure "allowupdates",0
2>go
3>reconfigure with override
4>go
7)再次重启server
至此,如果数据库能够正常,则恢复完毕。
以上步骤中,也可以用单用户模式启动server,命令为startserver -m,而不必修改server"allow updates"属性。SYBASE 11及以上版本的server只需重启,不需要执行reconfigur
e with override。如果上述方法仍不能恢复数据库,则只能使用dbcc命令删除该数据库,然后重新建立。
2.数据库所占用的设备不正常,库的状态为suspect 使用mysql下载不了怎么办sp_helpdbsp_helpdevice命令查出数据库设备的逻辑名、物理名、设备号、大小等信息。如果上述命令无法查出数据库设备的信息,可使用select * from master.sydatabasesselect * from master.sysdevices。然后用disk reinit重建设备。最后,按照1的步骤恢复数据库。
上述第一种情况数据库损坏程度较轻,对数据库内容检查后即可使用。而在第二种情况下,如果数据库的日志建立在不同的设备上,只是数据库的日志设备损坏,数据库的损坏程度会较轻,只是有些交易无法恢复;如果数据库的设备损坏,整个数据库的内容会全部丢失,其中表、表的内容、存储过程都需要重建。所以建议数据库和数据库的日志建立在不同的设备上。
系统错误日志errorlog文件存有SYBASE数据库系统的错误信息,系统出错时应先检查此文件,据此判断错误原因,出解决办法,以免误操作。
二、 恢复sa口令
编辑RUN_SYBASE,在dataserver启动行尾加入参数 -psa,然后存盘退出,执行startserver -f RUN_SYBASE重启server,系统会给超级用户sa一个随机的密码,以此密码注册进入server,然后使用sp_password命令修改密码即可。
Window下修改DB2密码后不能启动的解决方法
前天,我在命令方式下,修改了db2admin的密码:


db2 connect to sample user using

db2admin



当电脑启动的时候,提示有个服务不能正常启动,而且会发出几声嘟嘟的声音。



发现DB2服务不能启动。


到计算机管理-服务里一看,原来是原先我把有个“DB2 控制器给服务改成手工了,


启动下,出现不能启动服务,想想可能是密码不对。


到本地用户和组里把db2admin密码改了,就可以启动了。


原因:我在DB2这端改了密码,在控制器上也得改密码,不然profile文件就会出错。



DB2 控制器:收集与 DB2 数据库相连接的应用程序的统计信息。


"D:\IBM\SQLLIB\"



补充:

还有其他关于DB2的服务都得重新设置用户名和密码,在服务属性的登录中。



DB2启动的过程中,又跳出:不能读写某块内存的信息。


在百度查了一下,做如下设置即可。


d:\ibm\sqllib\bin& start sample db2admin 密码
SQL Server数据库超级管理员账号防护知识
提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle"system""sys"Sybase也是"sa"MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?"其实,我并不是在危言耸听,下面我就假
设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。
目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:
xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go
这时候,你如果打开你的计算机管理-----本地用户和组-----用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。
说到这里大家肯定都明白了,对,黑客通过调用SQL Server的系统数据库master里的xp_cmdshell这个扩展存储过程轻松的将他自己变成了你服务器上的超级管理员,那么以后他还有什么事情会干不了呢。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。