本来用的好好的数据库突然就出错了,弹出来一个警告
:错误945,由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库‘examonline’。详细信息请参见sql server错误日志
我看了以下错误日志的内容
2007-04-20 14:05:14.81 server    Microsoft SQL Server  2000 - 8.00.194 (Intel X86) 
Aug  6 2000 00:57:48 
Copyright (c) 1988-2000 Microsoft Corporation
Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)2007-04-20 14:05:14.81 server    Copyright (C) 1988-2000 Microsoft Corporation.
2007-04-20 14:05:14.81 server    保留所有权利。
2007-04-20 14:05:14.81 server    服务器进程 ID 是 1760。
2007-04-20 14:05:14.82 server    将 SQL Server 消息记录在文件“C:\Program Files\Microsoft SQL Server\MSSQL\log\ERRORLOG”中。
2007-04-20 14:05:14.90 server    SQL Server 正在以优先级“normal”(已检测到 1 CPU)启动。
2007-04-20 14:05:15.45 server    已为 thread 模式处理而配置了 SQL Server。
2007-04-20 14:05:15.48 server    使用 dynamic 锁分配。[500] 锁块,[1000] 锁所有者块。
2007-04-20 14:05:15.54 spid3     启动数据库“master”。
2007-04-20 14:05:17.48 server    正在使用“SSNETLIB.DLL”版本“8.0.194”。
2007-04-20 14:05:17.48 spid5     启动数据库“model”。
2007-04-20 14:05:17.56 spid3     服务器名称是“SXL”。
2007-04-20 14:05:17.56 spid3     Skipping startup of clean database id 4
2007-04-20 14:05:17.56 spid3     Skipping startup of clean database id 5
2007-04-20 14:05:17.56 spid3     Skipping startup of clean database id 6
2007-04-20 14:05:17.56 spid3     Skipping startup of clean database id 7
2007-04-20 14:05:18.35 spid5     清除 tempdb 数据库。
2007-04-20 14:05:18.75 server    SQL Server 正在监听 Shared Memory, Named Pipes。
2007-04-20 14:05:18.75 server    SQL Server 已准备好进行客户端连接
2007-04-20 14:05:19.62 spid5     启动数据库“tempdb”。
2007-04-20 14:05:19.85 spid3     恢复完成。
2007-04-20 14:05:47.96 spid51    使用 'xpstar.dll' 版本 '2000.80.194' 来执行扩展存储过程 'sp_MSgetversion'。
2007-04-20 14:05:48.06 spid51    启动数据库“msdb”。
2007-04-20 14:05:50.09 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.26 spid51    启动数据库“Northwind”。
2007-04-20 14:05:50.34 spid51    启动数据库“pubs”。
2007-04-20 14:05:50.45 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.60 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.68 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.78 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.87 spid51    启动数据库“examonline”。
2007-04-20 14:05:50.87 spid51    udopen: 创建/打开物理设备 C:\Program Files\Microsoft SQL Server\MSSQL\data\examonline_Data.MDF 时发生操作系统错误 32(另一个程序正在使用此文件,进程无法访问。)。
2007-04-20 14:05:50.89 spid51    FCB::Open failed: 未能为虚拟设备号 (VDN) 1 打开设备 C:\Program Files\Microsoft SQL Server\MSSQL\data\examonline_Data.MDF。
这个问题怎么解决啊??在线等

解决方案 »

  1.   

    http://www.java-dotnet.net/online/sqlserver/trblsql/tr_reslsyserr_1_2d9x.htm
    疑难解答
    错误 945
    严重级别 16
    消息正文
    由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ''%1!''。详细信息请参见 SQL Server 错误日志。解释
    当数据库标记为 IsShutdown 时返回错误 945。当由于丢失文件或某些其它资源错误(这些错误的更正通常比较容易)而无法恢复数据库时,发生该错误。对策
    首先,使用 DATABASEPROPERTY 验证数据库是否标记为 IsShutdown。然后,通过查阅错误日志确定错误的起因,并采取下列对策。如果一个或多个数据或日志文件丢失:
    使这些文件可用,并使用 ALTER DATABASE 使数据库 OFFLINE(脱机)。
    使用 ALTER DATABASE 以使数据库 ONLINE(联机)
    如果日志空间不足:
    使用 sp_add_log_file_recover_suspect_db() 添加其它的日志文件。
    该过程恢复数据库并使其联机。如果数据空间不足:
    使用 sp_add_data_file_recover_suspect_db() 添加其它的日志文件。
    该过程恢复数据库并使其联机。如果内存不足:
    当同时恢复许多数据库时可能发生内存不足错误。重试该操作可能修复问题: 重试操作,使用 ALTER DATABASE 以使数据库 OFFLINE。
    使用 ALTER DATABASE 以使数据库 ONLINE。
    如果重试操作不起作用,则考虑释放内存。
      

  2.   

    另外,可以參考這個帖子。http://www.rxiao.com/collection/csdn/SQLServer/613756.xml