SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法

在许多数据库操作的源代码中,包含数据库,但是在“附加”数据库时候出现如下提示:
标题: Microsoft SQL Server Management Studio
------------------------------
附加数据库 对于 服务器“KM”失败。 (Microsoft.SqlServer.Smo)
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
无法升级数据库 'db02',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
则说明数据库为只读属性
解决方法:
1.打开SQL Server Configuration Manager 选择 SQL Server 2005 服务/SQL Server (MSSQLSERVER)
SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法_第1张图片
2.打开SQL Server (MSSQLSERVER)属性,并且将“内置账户”选择为“本地系统”
SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法_第2张图片
在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQL Server 2005 Express 后,再附加(Attach)数据库一切正常。

总结:之所以附加(Attach)上的数据库为“只读”,是因为启动SQL Server 的默认的启动帐号“网络服务”对所附加(Attach)的数据库文件的权限不够造成的。

经测试SQL Server 2008可以采用同样的解决方法。


你可能感兴趣的:(sql,server,2005)