SQL Server附加数据库报5123错误


最近家里的电脑从WIN7升级到WIN10。安装完常用软件和SQL SERVER之后,附加一些测试数据库,发现报以下错误:

figure-1:使用SSMS附加数据库文件报错

 

尝试用脚本,同时报错:

figure-2:使用SQL脚本附加数据库文件报错

 

从错误提示来看,估计是所操作的用户对文件访问的权限不足。但是无论是使用windows认证登录还是sa登录,都报同样的错。奇怪了,自己的电脑都是使用管理员权限。再去检查数据库文件的权限,发现:

figure-3:数据库文件的安全属性

 

竟然连管理员都没有对此文件的读取权限!点击“高级”选项:

figure-4:数据库文件的安全属性—高级

 

这时我有印象了,应该是这个文件之前的owner是另一个管理员的用户(WIN10安装时必须指定一个用户),我习惯了使用administrator这个用户,安装完之后我把安装时创建的用户删除了,改为使用administrator。于是把文件的owner修改为administrator,并在Sql Server Configuration Manager修改启动用户:

figuer-5:Sql Server Configuration Manager—Log On

 

然后重启实例,使用windows认证去附加数据库,成功了。再测试使用sa附加数据库,也成功了。问题虽然是解决了,但对于SQL SERVER来说,权限安全很大程序上依赖于windows的安全配置,自己在这方面还不是很熟练和理解透彻,于是上网搜索下同样的问题,这篇 文章可参考,并且希望自己的一点经验能帮助到其他人。

本文永久更新链接地址

相关内容