sql server 2008 删除数据库出现”因为它正用于复制”以及附加数据变成”只读”的错误解决办法

删除 对于 数据库“YeeSoHo_4”失败。 (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+Database&LinkId=20476

——————————
其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

——————————

无法对 数据库’YeeSoHo_4′ 执行 删除,因为它正用于复制。 (Microsoft SQL Server,错误: 3724)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=3724&LinkId=20476

 

附加的数据库变成了“只读”状态,又修改不了,只好把它删除掉,但是删除的时候报了以上错误。百度了一番后发面用SQL语句可以搞定,不过删除前一定要先把SQL服务停掉,然后把MDF和LOG文件改名,不在在DROP时会把数据库文件给删掉,到时候就真的是欲哭无泪了。

停掉服务把文件改名后再启动服务,执行以下语句:

use master
exec sp_removedbreplication ‘mydatabase’
drop database “mydatabase”

——————————

更改 对于 数据库“YeeSoHo_4.0”失败。 (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476

——————————
其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

——————————

若要使用 ALTER DATABASE,数据库就必须处于可写入状态,从而可以执行检查点。 (Microsoft SQL Server,错误: 5004)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=5004&LinkId=20476

 

最近几次附加已有数据库文件(MDF)时,经常碰到附加后的数据库在管理器中显示只读字样的问题,一时没有找到解决办法。

在网上我也搜索了一番,但是都未能解决,最终发现一个简单的设置可以解决:

打开数据库的属性对话框,在左侧的属性列表中选中“选项”,客户属性表格区域中找到分组“状态”,其第一个属性“数据库只读”,你会发现其值为True,改为False即可。

在执行操作的时候又提示数据库只读,后来发现在NTFS文件系统的权限问题。修改之,又提示空间不足,于是修改数据库空间以及日志空间。再重新附加,小功告成!