具体步骤:
1.首先确认数据库是不是正常启动了。
2.如果是第一次安装,你的 *** 作系统是什么?vista和win7装sql2000不一定能装上,需要2005,而且如果是win7家庭版很可能出现数据库和软件连不上。
3.如果是xp,以前是不是装过数据库后来卸载了,那么卸掉sql清除干净注册表,重新安装sql,最好用完整版,不要使用msde。
4.如果是用了一段时间,很可能是杀毒软件误杀数据库文件,卸掉杀毒软件,在管理里面启动下数据库,看能否启动,如果还能启动。再启动速达看能否连接上。
5.如果数据库已经无法启动,将数据作出备份,重装数据库吧。
6.如果是本机连接没问题,其他连不上的话,关闭服务器和客户端window自带防火墙,数据库打sp4补丁,开启guest用户。
由于你安装的一个成功一个不成功 导致某些问题产生你现在可以这样做
将你安装不成功的2008 和2000全部卸载掉
卸载方法如下:
1、确保以前版本卸载干净,卸载干净方法
--删除C:\Program Files\Microsoft SQL Server这整个文件夹,
--regedit打开注册表
--删除[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server]主键
--删除[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server]主键
--windows服务如果还在,还需要删除服务.
--HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 直接删除相关的键值便可
--重新启动计算机
2、如果机器上装有VS 2005的话,要把VS 2005自带的SQL 2005 EXPRESS卸载;
同时删除XML4和MSXML6,到控制面板/添加删除程序。
因为你安装过2个SQL Server,所以注册表上清理的时候注意把相关的SQL的都删除
之后你在XP上安装SQL Server2000 一定得装developer或者express版本
xp是不可以装企业版
故障处理移除当前使用的 redo log 文件,然后可以试着启动数据库,结果启动失败!
提示:
[ERROR] InnoDB: Page [page id: space=0, page number=0] log sequence number 178377412422 is in the future! Current system log sequence number 165909011496.
这样的错误,这是因为 MySQL writer 线程按照配置的时间间隔以 page 为单位刷新 buffer 数据到磁盘。当数据刷新到磁盘的时候,新写入磁盘的 page 包含了较新的 LSN,此时系统 system 表空间头的 LSN 并没有同步更新,通常这是检查点线程的工作。在正常的崩溃恢复中,MySQL 可以借助 redo log 来进行前滚和回滚,但是此时 redo log 已经被我们删掉了,MySQL 无法进行恢复 *** 作。此时,我们设置 innodb_force_recovery=3 来强制启动 MySQL,仍然启动不成功,改成 4 后启动了!
再使用 mysqldump 导出备份,结果噩梦又降临了!MySQL 又 crash 了。
提示:
InnDB: Failed to find tablespace for table......
设置参数 innodb_force_recovery=5,数据库仍然启动失败,再设置成 6,启动成功!用 sqldump 顺利把数据备份出来了!
再初始化数据库,把刚刚备份的数据库导入,数据库恢复成功完成!
参数说明
这里的关键是设置 innodb_force_recovery 参数,对应这个参数的说明如下:
1. SRV_FORCE_IGNORE_CORRUPT:忽略检查到的 corrupt 页;
2. SRV_FORCE_NO_BACKGROUND:阻止主线程的运行,如主线程需要执行 full purge *** 作,会导致 crash;
3. SRV_FORCE_NO_TRX_UNDO:不执行事务回滚 *** 作;
4. SRV_FORCE_NO_IBUF_MERGE:不执行插入缓冲的合并 *** 作;
5. SRV_FORCE_NO_UNDO_LOG_SCAN:不查看重做日志,InnoDB 存储引擎会将未提交的事务视为已提交;
6. SRV_FORCE_NO_LOG_REDO:不执行前滚的 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)