SQL Server 2008 数据库在部署后将只读状态更改为 'True'

SQL Server 2008 Database Changing Read Only state to 'True' After Deployment

我正在使用 VS2010 中的 visual studio 安装项目为我的应用程序之一创建安装设置。我在其中从应用程序文件夹访问我的数据库。我已将 MDF 和 LDF 文件添加到应用程序文件夹中的数据文件夹中。 一切正常,我能够安装该应用程序,但在打开该应用程序时我收到一条错误消息 'Cannot update database because its read-only'。我已经使用 SSMS 检查了数据库,发现只读标志默认设置为 True,并且数据库显示为灰色。更改只读后 属性 应用程序工作 fine.I 通过更改数据库多次搜索和重建项目。我怎样才能摆脱这个问题?

几种可能性:

  1. 在您的安装项目中,在“目标计算机上的文件系统”视图中的 DB 文件的属性 window 上,确保您没有意外设置只读 属性 为真。

  2. 如果数据库位于(例如)Program Files 文件夹中的应用程序文件夹中,那么该位置对有限用户是只读的。您还没有说明您的应用是适用于所有用户还是仅适用于管理员。如果它适用于受限用户,则将文件安装到用户的个人文件夹或受限用户可以写入的位置。如果该应用程序需要管理员权限,那么您的应用程序需要一个提升清单才能使其具有管理员权限 运行,如果这就是数据库只读的原因。 运行 您的应用程序作为管理员将是一个快速测试,看看是否是这个问题。