一次系统故障排查以及SQL SERVER 2005备份的还原

 

 

       负责的一个小票务公司的内部运行系统出了问题,访问奇慢,于是客户重启PC SERVER,结果电脑再也起不来了,开机

蓝屏。考虑到前一天我刚做了第二次的索引优化,可能是索引出了问题,于是赶往客户那里。

       到了客户那里

       发现1:可以用引导盘重启,但是没引导盘开机迅速蓝屏重启,看不清错误代码。

       步骤1:跟客户网管简单商量,于是草率决定ghost恢复系统,反正数据库备份过。(事后深深后悔)。

       发现2:仍旧无法启动。可能是某块硬盘出了问题。

       步骤2:挨个拆分区硬盘,仍旧蓝屏。

       发现3:换一个C盘的硬盘,仍旧不行。怀疑内存出问题。

       步骤3:其他机器拆了两个内存,系统仍旧蓝屏,但看到代码0X0000007B.

       步骤4:在BIOS中,将”SATA Operation”设置为”ATA”,系统启动成功

       这个时候后悔重装了系统,已经悔之晚矣……

 

       重装SQL SERVER 2005开始从三小时一备份的备份集合中恢复数据。

       1、在“数据库”上右键,“还原数据库”,源设备,选择备份文件。在“指定备份”选项卡中点击“内容”,可以看

          到备份集。但是点确定之后,在“选择用于还原的备份集”下面的列表中,死活找不到备份集。

       2、在“数据库”上右键,还原文件和文件组,源设备,选择备份文件,确定,出现备份集,确定,结果是3219错误。

           Server 'ASD ' The   file   or   filegroup   'ASD_log '   can   not   be   selected   for   this   operation.

       3、网上搜索了一下,以下方法均失败:

           (1)单击“选项”,选择覆盖。失败

           (2)单击“选项”,选择覆盖。重新定义“还原为”下面的MDF和LDF文件路径。失败。

           (3)建立同名数据库,“还原数据库”,覆盖,失败。架构不一样。

            网上搜索的所有方法全部用尽,怀疑是数据库备份的时候设置不对,几乎绝望。看了一下SQL脚本。

            RESTORE DATABASE [gg] FILE = N'asd',  FILE = N'asd_log' FROM  DISK =

            N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\asd.bak' WITH 

            FILE = 1,  MOVE N'asd' TO  N'C:\Program Files\Microsoft SQL Server\MSSQL.1

             \MSSQL\DATA\gg.mdf',  MOVE N'asd_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1

             \MSSQL\DATA\gg_0.ldf',  NOUNLOAD,  REPLACE,  STATS = 10 GO

             既然一直报asd_log不能选择,那么,去掉这个如何呢?于是删除“FILE = N'asd',  FILE = N'asd_log' ”

             执行SQL成功!

 

             数据库三小时一备份,系统挂机发生在备份后的2小时,于是丢失2小时数据。

 

             心得:

            (1)不到万不得以,排除所有的硬件故障之前,千万不要重装系统。

            (2)任何重要的文件都不要放在C盘。(这次没犯这个错,不然要拆硬盘备份数据了)

            (3)如果条件允许,千万别买DELL的PC server。该蓝屏现象貌似是DELL特有。

            (4)如果网上办法用尽,不妨试下上面的方法。
            (5)这样的中小系统,没有财力做双机热备,那么数据库的备份执行计划就要勤快一点。走的时候我把备份计划更改

                    为30分钟一次。

      

     

 

posted @ 2009-11-12 02:18  clarkapp  阅读(781)  评论(1编辑  收藏  举报