• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQLSERVER 服务无法启动Operating system error1117

mysql 搞代码 4年前 (2022-01-09) 32次浏览 已收录 0个评论

SQL Server 无法重启从错误日志中发现下面的错误: Operating system error 1117( 由于 I/O 设备错误,无法运行此项请求。 ) on file C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf 这种问题大多是因为磁盘硬件错误导致

SQL Server无法重启从错误日志中发现下面的错误:

Operating system error 1117(由于 I/O设备错误,无法运行此项请求。) on file “C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf”

这种问题大多是因为磁盘硬件错误导致SQLServer无法重启,如果文件没有损坏的话我们可以通过移动SQLServer系统数据库解决。如果系统文件损坏需要Rebuildsystem数据库然后还原系统数据库。

这里我们讲如何将系统数据库移到其他磁盘解决硬件问题导致服务无法重启的问题:

1. 首先将系统数据库拷贝到其他磁盘,并且确保SQL Server Service账户有足够的权限访问这些文件。

2. 在配置管理器中更改SQL Server启动参数,将MASTER数据库文件和日志文件指定到其他目录。

-dMaster数据文件位置

-lMaster日志文件位置

3. 修改完成后使用下面的命令启动SQL Server:

启动Named SQL Server Instance

NET STARTMSSQL$instancename /f /T3608

启动Default Instance:

NET START MSSQLSERVER /f /T3608

4. 执行上面的命令后可以启动SQL Server,然后使用sqlcmd连接到MASTER数据库修改其他系统数据库的文件路径。如果使用Management studio连接的时候直接选择“New Query(单用户模式启动,只允许一个用户连入数据库,使用“New Query“连接可以确保单用户成功连接)

修改系统数据库文件路径命令:

use master

go

Alter databasetempdbmodifyfile(name= tempdev,filename= ‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\tempdb.mdf’)

go

Alter databasetempdbmodifyfile(name= templog,filename= ‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\templog.ldf’)

go

USE master;

GO

ALTER DATABASEmsdbMODIFYFILE(NAME= MSDBData,FILENAME=‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\MSDBData.mdf’);

GO

ALTER DATABASEmsdbMODIFYFILE(NAME= MSDBLog,FILENAME=‘D:本文来源[email protected]搞@^&代*@码网(\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\MSDBLog.ldf’);

GO

ALTER DATABASEmodelMODIFYFILE(NAME= modeldev,FILENAME=‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\model.mdf’);

GO

ALTER DATABASEmodelMODIFYFILE(NAME= modellog,FILENAME=‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\modellog.ldf’);

GO

查询文件地址是否已经修改:

SELECT name,physical_nameAS CurrentLocation, state_desc

FROM sys.master_files

WHERE database_id =DB_ID(N”);

如果需要迁移RESOURCE数据库的话使用下面的命令

USE master;

GO

ALTER DATABASE mssqlsystemresourceMODIFYFILE(NAME= DATA,FILENAME=‘D:\Program Files\Microsoft SQLServer\MSSQL10_50.R2\MSSQL\DATA\backup\.mdf’);

GO

ALTER DATABASE mssqlsystemresourceMODIFYFILE(NAME=LOG,FILENAME=‘D:\Program Files\MicrosoftSQL Server\MSSQL10_50.R2\MSSQL\DATA\backup\.ldf’);

GO

ALTER DATABASE mssqlsystemresourceSETREAD_ONLY;

5. 执行成功后重启数据库数据库恢复正常。如果还有其他用户数据库也需要迁移的话可以参照上面的命令迁移文件。

6. 迁移完成后运行DBCC CHECKDB确保数据库完整性并且备份数据库。

更多迁移系统数据库信息可以参考:http://msdn.microsoft.com/en-us/library/ms345408.aspx


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQLSERVER 服务无法启动Operating system error1117

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址