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

本文介绍了解决SQL Server在附加数据库时遇到“只读”属性问题的方法。通过更改SQL Server的服务启动账户来确保有足够的权限对数据库进行写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在许多数据库操作的源代码中,包含数据库,但是在“附加”数据库时候出现如下提示:
标题: 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)的数据库为“只读”的解决方法 (无法附加数据库) - 伊利耶的天空 - 伊利野的天空的博客
2.打开SQL Server (MSSQLSERVER)属性,并且将“内置账户”选择为“本地系统”
SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法 (无法附加数据库) - 伊利耶的天空 - 伊利野的天空的博客
在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQL Server 2005 Express 后,再附加(Attach)数据库一切正常。

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值