今天想将项目里的数据库数据文件导入到数据库中单独处理,但是在使用sql server 2005 express附加数据库的时候出现错误,提示:无法更新数据库"xxx",因为数据库是只读的.(Microsoft SQL Server),但是检查数据库文件发现并非是只读的,这个错误在前几天使用IIS打开项目网站的时候也出现过,那个时候的解决办法是:给根目录加一个aspnet的用户,那么今天的错误是不是也是这类问题呢。带着这个思考我去看了SQL Server安装根目录下C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data的安全属性,看看是不是有特殊用户,最后还真是被我发现了一个特殊用户:SQLServer2005MSSQLUser$计算机名$SQLEXPRESS,并且给他完全控制权限。我这里用的是SQL SERVER 2005 EXPRESS版本的数据库,可能其他数据库有不的角色名吧。具体大家自己对照就好了。然后我去将项目根目录下的App_Data文件夹复制到我单独存放数据库文件的E:/DATABASE/目录下,并且为这个目录添加SQLServer2005MSSQLUser$计算机名$SQLEXPRESS用户并且赋予完全控制权限,然后从这里附加数据库,这是就成功了,万事大吉。

作者:xwdreamer