开始一个新的工作,有一个2008年的SQL数据库是250GB的大小。 开发商坚持说大小是正确的。 问题是250GB的MDF文件是坐在一个250GB的驱动器上。
我试图做一个数据库的备份,但我得到这个错误:
System.Data.SqlClient.SqlError:在文件“C:\ Backup \ backup.bkf:”112(无法检索此错误的文本,原因:1815)上发生不可恢复的I / O错误。 (Microsoft.SqlServer.Smo)
我基本上有两个select:
任何帮助赞赏。
谢谢
是的,您一定要将备份执行到具有足够可用空间的其他位置。 如果您有SQL2008 R2 Standard(或2008 Enterprise的任何版本),则可以执行压缩备份(也可以使用Quest Litespeed等第三方软件)。 否则,您的备份将与您的数据文件大小+日志文件大小一样大。
关于收缩,你必须首先确定是否可以收缩文件,通过了解文件本身的已用空间/可用空间。 一个250GB的文件可以使用240GB和10GB空间,反之亦然。 (最简单的方法是:右键单击数据库,然后进入Tasks> Shrink> Files。不要点击OK,只需看看当前分配的空间VS“可用空间”的数字,点击“File type”框看数据vs日志)。
根据你的发现,你会有几个select:
您可以尝试收缩数据库文件。 右键单击数据库 – >任务 – >收缩(在Mgmt Studio中)。 对于250 GB的数据库,这将需要很长时间 – 也许长达一个小时。
或者你可以连接一个外部的USB硬盘,并尝试备份到这一点。
显然,在另一个驱动器上进行备份。 如果数据库必须有250GB,则将其保留在250Gb。 您需要额外的空间进行维护操作,您有理想的额外存储空间。 这是一个很好的理由不运行SHRINKDATABASE …