当发现数据库不能连接时,我们第一反应是去检查数据库的服务。发现sql server(SQLexpress)服务未启动,当我们去启动服务时无法启动,错误代码为error code 3417 。
请点击输入图片描述
出现这种错误,是因为数据库文件损坏造成。
我们去找一台安装相同版本的数据库,去拷贝其tempdb和master两个数据库到无法启动的电脑上去覆盖。包括这两个数据库的log档。
(一般这两个库属于默认库,没有存入资料,所以可以互换。)
请点击输入图片描述
当我们在拷贝master和tempdb两个数据库和log档时报错,因为数据库在使用中。这时需要先将sql server(SQLexpress)服务停止后再行拷贝。
请点击输入图片描述
拷贝完成后,覆盖无法启动主机上的 master、masterlog、tempdb、tempdblog。
请点击输入图片描述
重启电脑,这一步可做可不做。
我这边习惯性的补上这一步,这样做的好处是重启电脑后调试成功的问题,不会出现调试好的程序,下次重新开机又不能使用的情况发生。
请点击输入图片描述
重新去启动sql server(SQLexpress)服务,成功启动。
到此问题解决。
请点击输入图片描述
SQL Server起动时,报3417错误,的原因是SQL Server系统无法正常读写Master数据库。产生这种故障可能的原因及针对的解决方法:
1、非正常开关机,或其它故障造成的SQL Server的Master数据库文件损坏,如果是强制关机,或系统死机后出现这个故障的话,这种情况的可能性非常大。
解决方法:如有近似的数据库备份,可将相关的Master文件复制到故障机的相应位置替换。如果没有那就无法解决,只能将工作数据库文件复制出后重新安装,然后将工作数据库文件附加。
2、更改了SQL Server的Master数据库文件的位置或文件、文件夹名,Master数据库文件的读写权被更改、被压缩。
解决方法,如改动了Master数据库文件的文件名、所在文件夹路径,请改回,如果这个文件被压缩,请去除压缩状态,如存于NTFS文件系统中,查核它的读写权,不确定的话可先设定让它可被everyone读写。
额外提示,如数据很重要,建议先进行相关文件、文件夹的备份,有条件的话进行系统完整镜像备份。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)