最近家里的电脑从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的安全配置,自己在这方面还不是很熟练和理解透彻,于是上网搜索下同样的问题,发现有以下的文章可参考,并且希望自己的一点经验能帮助到其他人。
http://www.cnblogs.com/xuruiming/articles/2964507.html