无法启动SQL Server 2008-日志中的怪异path

我无法启动它,日志文件显示如下:

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:驱动器上创build临时数据库? 我怎样才能改变它?

暂时创build一个I:,并在那里创build文件夹让它启动。 然后进入tempdb的属性(使用Management Studio)并更改文件位置。

这听起来像你的初始安装的mssql服务器已完成到我的驱动器。 我希望你没有把它消灭…修复它可能是困难的。 这里有几件事要尝试…

1)如果你没有我开车,使用subst临时创build一个:

 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:\凡\ mastlog.ldf等…

您也可以尝试使用跟踪标记/ T3608和/ f开关,以仅使用主数据库的最小configuration启动。

在下面的链接中的一些例子。

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

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

系统错误21意味着“设备未准备好”。 在I驱动器的系统事件日志中查找与I / O相关的错误。