在Windows2016 Server IIS中部署ASP.NET网站后,用户有更改 LocalDB 数据库的需求,为此在服务器上安装Microsoft SQL Server Management Studio(SSMS),然后在服务器上附加上LocalDB数据库,结果发现数据库总是
只读状态。郁闷死了,度娘很多地方,只知道是权限不够,但没找到一个能解决我的问题的办法。很郁闷!
最后只好用笨办法做实验。累!
开一个VMWARE虚拟机,装一个Windows 2016 Server,部署ASP.NET网站,安装SSMS,使用SSMS按Windows验证(Administrator)连接(LocalDB)\v11.0,附加LocalDB的mdf文件,结果是黑的,还是只读!右击数据库选属性,在 选项 中状态段中发现数据库只读项中为 True,如是试图更改为 False,确认后,失败,Access Deny 5120。由此可以看出,数据库文件访问权限不够!现在的连接用户是Administrator,在资源管理器中查看数据库文件mdf属性的安全选项卡,发现组或用户名列表中有SYSTEM、Administrators、Users,按理说用户Administrator是属于Administrators组的,应该有权限,结果就是没有权限,再次郁闷。对比开发环境,该数据库mdf文件,却多了一个用户组的名称 Authenticate Users,如是乎,给该文件和ldf文件都添加上这个用户组,并授予允许“修改、读取执行、读取、写入”的权限。再在SSMS中重复附加过程,OK,结果是金黄色的,没有了只读说明!
至此问题解决。