欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

由于文件权限问题导致SQL Server 2008 无法正常启动解决

程序员文章站 2022-06-14 20:34:59
...

项目中使用MS SQL Server 2008作为数据库服务器。操作系统为MS Windows Server 2008 R2,64位。 在服务器安装完成之后,就一直没有重启过机器,今天对数据库做了一些简单调整,主要是想要通过DAC连接到数据库,由于几次操作不成功,因此,想重启下服务器。 结

项目中使用MS SQL Server 2008作为数据库服务器。操作系统为MS Windows Server 2008 R2,64位。

在服务器安装完成之后,就一直没有重启过机器,今天对数据库做了一些简单调整,主要是想要通过DAC连接到数据库,由于几次操作不成功,因此,想重启下服务器。

结果重启之后悲剧了,MSSQLSERVER直接无法启动。

查看系统日志,发现以下错误信息:


FCB::Open failed: 无法打开文件号 2 的文件 D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf。操作系统错误: 5(拒绝访问。)。

竟然是拒绝访问,master数据库的ldf紧接着下一条是类似的内容,只不过是mater数据库的mdf文件。

这是咋回事呢?

看样子是文件权限的问题,SQL Server在创建完数据库以后,会使用一个名为“SQLServer*******”的文件用户,而在win2008下,此用户对于管理员的master.mdf与mastlog.ldf文件是只读权限,因此,在服务启动的时候,就会导致SQL Server无法正常启动。看样子SQL Server会对master数据库的一些内容进行写操作。
找到问题根源,解决就很简单,只需要把这两个文件的民为“SQLServer*******”的文件用户权限做一下调整,当然,这个调整是需要管理员权限。

再启动SQL Server,正常!