我无法启动它并且日志文件读取:
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 开关以仅使用主数据库的最小配置启动。
以下链接中有一些示例。
答案4
系统错误 21 表示“设备尚未就绪”。在 I 驱动器的系统事件日志中查找与 I/O 相关的错误。