无法启动 SQL Server 2008 - 日志中的奇怪路径

无法启动 SQL Server 2008 - 日志中的奇怪路径

我无法启动它并且日志文件读取:

 CREATE FILE encountered operating system error 21(failed to retrieve text for 
 this error. Reason: 15100) while attempting to open or create the physical file 
 'I:\MSSQL \TempDB\tempdb.mdf'.`

服务器默认安装到
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER

为什么它会尝试在I:驱动器上创建临时数据库?我该如何改变它?

答案1

临时创建一个 I:,并在其上创建文件夹以使其启动。然后进入 tempdb 的属性(使用 Management Studio)并更改文件位置。

答案2

听起来您最初在 I 驱动器上安装了 mssql server。希望您没有将其清除...修复它可能很困难。以下是一些可以尝试的方法...

1)如果您不再有 I 驱动器,请使用 subst 临时创建一个:

subst i: c:\some-path-you-like

尝试启动服务器。一旦服务器启动,您可以通过执行以下操作将 tempdb 重新映射到不同的目录:

use master
go
Alter database tempdb modify file (name = tempdev, filename = 'C:\Sqldata\tempdb.mdf')
go
Alter database tempdb modify file (name = templog, filename = 'C:\Sqldata\templog.ldf')
Go

之后,您就可以开始了。然后,您可以通过执行以下操作来删除替换的驱动器:

subst i: /D

您的主数据库和日志以及错误日志也可能仍在 I 驱动器上,并且它们也可以移动……但略有不同。您需要修改 mssql 服务启动参数以包含 3 个附加选项:

-d is the fully qualified path for the master database data file.
-e is the fully qualified path for the error log file.
-l is the fully qualified path for the master database log`

即-lc:\wherever\mastlog.ldf 等...

答案3

您还可以尝试使用跟踪标志 /T3608 和 /f 开关以仅使用主数据库的最小配置启动。

以下链接中有一些示例。

http://msdn.microsoft.com/en-us/library/ms345408.aspx

http://support.microsoft.com/kb/224071

答案4

系统错误 21 表示“设备尚未就绪”。在 I 驱动器的系统事件日志中查找与 I/O 相关的错误。

相关内容