事件背景:计算机卡住了,重启了电脑,之后再连接本地SQL Server数据库就连接不上了。发现SQL的各项服务也都是停止的,但是手动重启也重启不了。在重启之前还发生过磁盘C空间用尽的情况,所以具体是什么原因导致的数据库连接不上也不清楚。
网上查了也试了很多种解决方法,都不行,都是把瞎子治成了个聋子...然后脑子混沌了不转了,今天早上过来按照一篇博客上的方法试了一下,问题就这样解决了。参考:
事件17058-initerrlog:无法打开错误日志文件(SQL Server)
下面说一下我的解决方法:
1、查看错误日志
按网上指导,在找不到数据库错误具体原因时可以去查看计算机系统记录到的错误日志:
①打开 “管理”→“系统工具”→“事件查看器”→“Windows日志”→“应用程序”,可以看到MSSQLSERVER确实报了很多错误
②双击打开其中一个,查看具体错误信息:
initerrlog: 无法打开错误日志文件 'D:\MSSQL\MSSQL.1\MSSQL\LOG\ERRORLOG'。操作系统错误 = 5(拒绝访问。)。
发现是数据库服务想要打开错误日志被拒绝导致的。第一想法就是错误日志是不是权限不够,所以给文件夹设置完全控制,发现还是不行。第二想法是是删掉这些错误日志,但是没试,怕踩坑,参考文章给我了信心。第三想法是是不是登录用户更改了,于是再次确认使用的是“本地系统”用户登录:
2、删除错误日志
按照下面答主的回复,着手删除安装目录下的错误日志。
我的的错误日志在D盘下,D:\SQL2022\R\MSSQL16.MSSQLSERVER\MSSQL\Log
3、打开数据库配置管理器,重启停止的服务
4、再次连接数据库
连接成功!