服务器的磁盘阵列出了一点问题,造成数据库的企业管理器看不到数据库列表了,只显示无项目,但是程序运行没有问题,数据库还是可用的。修复好硬盘后问题如故,察看日志结尾如下:
......
2006-12-05 09:40:54.07 server    SQL Server 已准备好进行客户端连接
2006-12-05 09:40:54.32 spid5     清除 tempdb 数据库。
2006-12-05 09:40:54.65 spid5     启动数据库“tempdb”。
2006-12-05 09:41:17.34 spid3     恢复完成。
2006-12-05 09:41:17.34 spid3     SQL global counter collection task is created.
2006-12-05 09:41:17.87 spid63    错误: 823,严重度: 24,状态: 2。
2006-12-05 09:41:17.90 spid63    错误: 823,严重度: 24,状态: 2
2006-12-05 09:41:17.90 spid63    I/O error (torn page) detected during read at offset 0x00000000b76000 in file 'C:\Program Files\Microsoft SQL Server\MSSQL\data\master.mdf'.。
2006-12-05 09:42:20.56 spid63    使用 'xpstar.dll' 版本 '2000.80.2039' 来执行扩展存储过程 'sp_MSgetversion'。
2006-12-05 09:42:22.12 spid63    错误: 823,严重度: 24,状态: 2。
2006-12-05 09:42:22.12 spid63    错误: 823,严重度: 24,状态: 2
2006-12-05 09:42:22.12 spid63    I/O error (torn page) detected during read at offset 0x00000000b76000 in file 'C:\Program Files\Microsoft SQL Server\MSSQL\data\master.mdf'.。
2006-12-05 09:42:25.71 spid58    错误: 823,严重度: 24,状态: 2。
2006-12-05 09:42:25.71 spid58    错误: 823,严重度: 24,状态: 2
2006-12-05 09:42:25.71 spid58    I/O error (torn page) detected during read at offset 0x00000000b76000 in file 'C:\Program Files\Microsoft SQL Server\MSSQL\data\master.mdf'.。
2006-12-05 09:43:32.71 spid57    错误: 823,严重度: 24,状态: 2。
2006-12-05 09:43:32.71 spid57    错误: 823,严重度: 24,状态: 2
2006-12-05 09:43:32.71 spid57    I/O error (torn page) detected during read at offset 0x00000000b76000 in file 'C:\Program Files\Microsoft SQL Server\MSSQL\data\master.mdf'.。
现在也不能在企业管理器建新的数据库,提示错误823:
和错误0:此服务器已经断开。请重新连接执行此操作。
请问这个问题怎么解决?

解决方案 »

  1.   

    1、拷贝DATA目录下的*.mdf,*.ldf
    2、到另外一台机器上用sp_attach_db看能不能附加。
    3、如果能,干了服务器重装SQL等东东。
    4、附加数据库。
      

  2.   

    在查询分析器执行DBCC CHECKDB
    结果如下:
    服务器: 消息 8928,级别 16,状态 1,行 1
    对象 ID 33,索引 ID 2: 未能处理页 (1:1467)。详细信息请参阅其它错误。
    服务器: 消息 8939,级别 16,状态 1,行 1
    表错误: 对象 ID 33,索引 ID 2,页 (1:1467)。测试(IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode)失败。值为 2057 和 -1。
    'master' 的 DBCC 结果。
    'sysobjects' 的 DBCC 结果。
    对象 'sysobjects' 有 1288 行,这些行位于 23 页中。
    'sysindexes' 的 DBCC 结果。
    对象 'sysindexes' 有 105 行,这些行位于 4 页中。
    'syscolumns' 的 DBCC 结果。
    对象 'syscolumns' 有 5025 行,这些行位于 86 页中。
    'systypes' 的 DBCC 结果。
    对象 'systypes' 有 26 行,这些行位于 1 页中。
    'syscomments' 的 DBCC 结果。
    对象 'syscomments' 有 2240 行,这些行位于 1084 页中。
    'sysfiles1' 的 DBCC 结果。
    对象 'sysfiles1' 有 2 行,这些行位于 1 页中。
    'syspermissions' 的 DBCC 结果。
    对象 'syspermissions' 有 814 行,这些行位于 4 页中。
    'sysusers' 的 DBCC 结果。
    对象 'sysusers' 有 14 行,这些行位于 1 页中。
    'sysproperties' 的 DBCC 结果。
    对象 'sysproperties' 有 0 行,这些行位于 0 页中。
    'sysdepends' 的 DBCC 结果。
    对象 'sysdepends' 有 5494 行,这些行位于 28 页中。
    'sysreferences' 的 DBCC 结果。
    对象 'sysreferences' 有 0 行,这些行位于 0 页中。
    'sysfulltextcatalogs' 的 DBCC 结果。
    对象 'sysfulltextcatalogs' 有 0 行,这些行位于 0 页中。
    'sysfulltextnotify' 的 DBCC 结果。
    对象 'sysfulltextnotify' 有 0 行,这些行位于 0 页中。
    'sysdatabases' 的 DBCC 结果。
    对象 'sysdatabases' 有 15 行,这些行位于 1 页中。
    'sysxlogins' 的 DBCC 结果。
    对象 'sysxlogins' 有 18 行,这些行位于 1 页中。
    CHECKDB 发现了 0 个分配错误和 2 个一致性错误(在表 'sysxlogins' 中,该表的对象 ID 为 33)。
    'sysdevices' 的 DBCC 结果。
    对象 'sysdevices' 有 6 行,这些行位于 1 页中。
    'sysmessages' 的 DBCC 结果。
    对象 'sysmessages' 有 7706 行,这些行位于 170 页中。
    'sysconfigures' 的 DBCC 结果。
    对象 'sysconfigures' 有 38 行,这些行位于 1 页中。
    'sysservers' 的 DBCC 结果。
    对象 'sysservers' 有 2 行,这些行位于 1 页中。
    'syslanguages' 的 DBCC 结果。
    对象 'syslanguages' 有 33 行,这些行位于 3 页中。
    'syscharsets' 的 DBCC 结果。
    对象 'syscharsets' 有 114 行,这些行位于 33 页中。
    'sysaltfiles' 的 DBCC 结果。
    对象 'sysaltfiles' 有 30 行,这些行位于 6 页中。
    'sysfilegroups' 的 DBCC 结果。
    对象 'sysfilegroups' 有 1 行,这些行位于 1 页中。
    'spt_monitor' 的 DBCC 结果。
    对象 'spt_monitor' 有 1 行,这些行位于 1 页中。
    'spt_values' 的 DBCC 结果。
    对象 'spt_values' 有 730 行,这些行位于 6 页中。
    'spt_fallback_db' 的 DBCC 结果。
    对象 'spt_fallback_db' 有 0 行,这些行位于 0 页中。
    'spt_fallback_dev' 的 DBCC 结果。
    对象 'spt_fallback_dev' 有 0 行,这些行位于 0 页中。
    'spt_fallback_usg' 的 DBCC 结果。
    对象 'spt_fallback_usg' 有 0 行,这些行位于 0 页中。
    'dtproperties' 的 DBCC 结果。
    对象 'dtproperties' 有 0 行,这些行位于 0 页中。
    'spt_provider_types' 的 DBCC 结果。
    对象 'spt_provider_types' 有 25 行,这些行位于 1 页中。
    'spt_datatype_info_ext' 的 DBCC 结果。
    对象 'spt_datatype_info_ext' 有 10 行,这些行位于 1 页中。
    'MSreplication_options' 的 DBCC 结果。
    对象 'MSreplication_options' 有 2 行,这些行位于 1 页中。
    'spt_datatype_info' 的 DBCC 结果。
    对象 'spt_datatype_info' 有 36 行,这些行位于 1 页中。
    'spt_server_info' 的 DBCC 结果。
    对象 'spt_server_info' 有 29 行,这些行位于 1 页中。
    CHECKDB 发现了 0 个分配错误和 2 个一致性错误(在数据库 'master' 中)。
    repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKDB (master ) 发现的错误而言)。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
      

  3.   

    错误 823
    严重级别 24
    消息正文
    在文件 ''%4!'' 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。解释
    Microsoft® SQL Server™ 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。对策
    检查该设备的可访问性和状态。如果可能,执行硬件诊断并纠正问题。从最新的数据库备份还原损坏的文件。从数据库备份中还原应始终是修复已损坏数据库的首选方法。如果没有备份或者检测到的错误是孤立的,则 DBCC CHECKDB 的修复功能可能很有用。然而,比起从备份中还原损坏的文件,可能使用 DBCC CHECKDB 消耗的时间更多,且可能无法恢复全部数据。
      

  4.   

    3、如果能,干了服务器重装SQL等东东。 请问是什么意思?
      

  5.   

    参考《SQL Server联机丛书》引用:
    错误 823 
    严重级别 24 
    消息正文 
    在文件 ''%4!'' 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。解释
    Microsoft? SQL Server? 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。对策
    检查该设备的可访问性和状态。如果可能,执行硬件诊断并纠正问题。从最新的数据库备份还原损坏的文件。从数据库备份中还原应始终是修复已损坏数据库的首选方法。 如果没有备份或者检测到的错误是孤立的,则 DBCC CHECKDB 的修复功能可能很有用。然而,比起从备份中还原损坏的文件,可能使用 DBCC CHECKDB 消耗的时间更多,且可能无法恢复全部数据。注意 如果使用修复子句运行 DBCC CHECKDB 时,问题没有得到纠正,或者不知道该过程将如何影响数据,请与主要的支持提供者联系。 
     
      

  6.   

    我已经告诉你了,备份好所有的东西(程序,代码,库....)然后检查服务器是否完好,比如硬盘,内存...,如果你做不了这个,请卖服务器的厂方或其他经销商来做,还可以让他们装必要的操作系统等东西.最后你自己再安装SQL,你自己的程序,库等.
      

  7.   

    FIX THE DB USE DBCC
      

  8.   

    DBCC CHECKDB  不管用阿 
    服务器: 消息 8928,级别 16,状态 1,行 1
    对象 ID 33,索引 ID 2: 未能处理页 (1:1467)。详细信息请参阅其它错误。
    服务器: 消息 8939,级别 16,状态 1,行 1
    表错误: 对象 ID 33,索引 ID 2,页 (1:1467)。测试(IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode)失败。值为 2057 和 -1。
    'master' 的 DBCC 结果。
    'sysobjects' 的 DBCC 结果。
    对象 'sysobjects' 有 1288 行,这些行位于 23 页中。
    'sysindexes' 的 DBCC 结果。
    对象 'sysindexes' 有 105 行,这些行位于 4 页中。
    'syscolumns' 的 DBCC 结果。
    对象 'syscolumns' 有 5025 行,这些行位于 86 页中。
    'systypes' 的 DBCC 结果。
    对象 'systypes' 有 26 行,这些行位于 1 页中。
    'syscomments' 的 DBCC 结果。
    对象 'syscomments' 有 2240 行,这些行位于 1084 页中。
    'sysfiles1' 的 DBCC 结果。
    对象 'sysfiles1' 有 2 行,这些行位于 1 页中。
    'syspermissions' 的 DBCC 结果。
    对象 'syspermissions' 有 814 行,这些行位于 4 页中。
    'sysusers' 的 DBCC 结果。
    对象 'sysusers' 有 14 行,这些行位于 1 页中。
    'sysproperties' 的 DBCC 结果。
    对象 'sysproperties' 有 0 行,这些行位于 0 页中。
    'sysdepends' 的 DBCC 结果。
    对象 'sysdepends' 有 5494 行,这些行位于 28 页中。
    'sysreferences' 的 DBCC 结果。
    对象 'sysreferences' 有 0 行,这些行位于 0 页中。
    'sysfulltextcatalogs' 的 DBCC 结果。
    对象 'sysfulltextcatalogs' 有 0 行,这些行位于 0 页中。
    'sysfulltextnotify' 的 DBCC 结果。
    对象 'sysfulltextnotify' 有 0 行,这些行位于 0 页中。
    'sysdatabases' 的 DBCC 结果。
    对象 'sysdatabases' 有 15 行,这些行位于 1 页中。
    'sysxlogins' 的 DBCC 结果。
    对象 'sysxlogins' 有 18 行,这些行位于 1 页中。
    CHECKDB 发现了 0 个分配错误和 2 个一致性错误(在表 'sysxlogins' 中,该表的对象 ID 为 33)。
    'sysdevices' 的 DBCC 结果。
    对象 'sysdevices' 有 6 行,这些行位于 1 页中。
    'sysmessages' 的 DBCC 结果。
    对象 'sysmessages' 有 7706 行,这些行位于 170 页中。
    'sysconfigures' 的 DBCC 结果。
    对象 'sysconfigures' 有 38 行,这些行位于 1 页中。
    'sysservers' 的 DBCC 结果。
    对象 'sysservers' 有 2 行,这些行位于 1 页中。
    'syslanguages' 的 DBCC 结果。
    对象 'syslanguages' 有 33 行,这些行位于 3 页中。
    'syscharsets' 的 DBCC 结果。
    对象 'syscharsets' 有 114 行,这些行位于 33 页中。
    'sysaltfiles' 的 DBCC 结果。
    对象 'sysaltfiles' 有 30 行,这些行位于 6 页中。
    'sysfilegroups' 的 DBCC 结果。
    对象 'sysfilegroups' 有 1 行,这些行位于 1 页中。
    'spt_monitor' 的 DBCC 结果。
    对象 'spt_monitor' 有 1 行,这些行位于 1 页中。
    'spt_values' 的 DBCC 结果。
    对象 'spt_values' 有 730 行,这些行位于 6 页中。
    'spt_fallback_db' 的 DBCC 结果。
    对象 'spt_fallback_db' 有 0 行,这些行位于 0 页中。
    'spt_fallback_dev' 的 DBCC 结果。
    对象 'spt_fallback_dev' 有 0 行,这些行位于 0 页中。
    'spt_fallback_usg' 的 DBCC 结果。
    对象 'spt_fallback_usg' 有 0 行,这些行位于 0 页中。
    'dtproperties' 的 DBCC 结果。
    对象 'dtproperties' 有 0 行,这些行位于 0 页中。
    'spt_provider_types' 的 DBCC 结果。
    对象 'spt_provider_types' 有 25 行,这些行位于 1 页中。
    'spt_datatype_info_ext' 的 DBCC 结果。
    对象 'spt_datatype_info_ext' 有 10 行,这些行位于 1 页中。
    'MSreplication_options' 的 DBCC 结果。
    对象 'MSreplication_options' 有 2 行,这些行位于 1 页中。
    'spt_datatype_info' 的 DBCC 结果。
    对象 'spt_datatype_info' 有 36 行,这些行位于 1 页中。
    'spt_server_info' 的 DBCC 结果。
    对象 'spt_server_info' 有 29 行,这些行位于 1 页中。
    CHECKDB 发现了 0 个分配错误和 2 个一致性错误(在数据库 'master' 中)。
    repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKDB (master ) 发现的错误而言)。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。