SQLSERVER 服务无法启动Operating system error1117

php中文网
发布: 2016-06-07 15:52:08
原创
2905人浏览过

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日志文件位置

SQLSERVER 服务无法启动Operating system error1117

 

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“连接可以确保单用户成功连接)

 

 SQLSERVER 服务无法启动Operating system error1117

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

 

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

燕雀Logo
燕雀Logo

为用户提供LOGO免费设计在线生成服务

燕雀Logo 101
查看详情 燕雀Logo

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:\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

 

 

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号