在 Windows Server 2008 R2 SP1 VM 上运行 SQL Server LocalDB 2012 和 2014 时遇到了一些奇怪的问题,而这些问题在 Windows 7 或 Windows 10 上运行时不会发生。
我可以创建数据库,将数据保存到其中,但几分钟后数据库.mdf
文件似乎被锁定了。我收到错误(在我的 c# 代码中)
无法更新数据库“dbname”,因为该数据库是只读的。
我已经排除了其他应用程序锁定数据库文件的可能性。据我所知,这似乎是 SQL Server 的问题。
我尝试在 Management Studio 中打开数据库,它告诉我数据库是只读的。它也无法更改状态,抛出 5(拒绝访问)错误 (5120)
我可以确认数据库文件 (mdf) 没有写保护 - 例如,我可以重命名文件,或者在 HxD 中打开并更改它。如果我将数据库文件复制到另一台计算机,它可以正常工作。没有权限或写入问题。
SQL 无法编辑它,我不知道为什么。这可能是什么原因造成的?
答案1
很难肯定地说,但我会检查以下几点:
- SQL Express 仅限于 10 GB 或更小的数据库。您的数据库是否已增长到比这更大的大小?
- 但根据错误消息:SQL 服务帐户是否对数据库所在目录具有完全访问权限?SQL 服务帐户是否对文件具有完全访问权限?
- 是否存在需要将此数据库列在例外之下的安全程序?