情况简单介绍:由于书库据较大,大概5g,正常还原的时候报错:
Microsoft SQL-DMO
(
ODBC SQLState: 42000
)
---------------------------
试图扩大物理文件时, MODIFY FILE 遇到操作系统错误 112( 磁盘空间不足。 ) 。
未能创建一个或多个文件。请考虑使用 WITH MOVE 选项来标识有效位置。
RESTORE DATABASE 操作异常终止。
---------------------------
试图扩大物理文件时, MODIFY FILE 遇到操作系统错误 112( 磁盘空间不足。 ) 。
未能创建一个或多个文件。请考虑使用 WITH MOVE 选项来标识有效位置。
RESTORE DATABASE 操作异常终止。
但硬盘空间很足够!
---------------------------------------------------------------------------------------------------------------------
解决方法:
如果你还原后的数据库文件所在的磁盘空间不足
你可以用下面的语句查询还原的数据库有多少个文件,这些文件有多大,还原后文件会放到那个磁盘上
restore filelistonly from disk='c:\ 备份文件名 .bak'
如果你要把数据文件放到其他空间足够的磁盘上,使用 move 选项来改变还原后的文件位置 , 示例
restore database 库名 from disk='c:\ 备份文件名 .bak'
with move ' 逻辑文件名 ' to 'c:\aa.mdf' -- 逻辑文件名可以用 restore filelistonly 查询, c:\aa.mdf 是逻辑文件名还原后的位置及文件名
如果你确定你的磁盘空间足够,则可能是分区格式的问题,对于 FAT32/16 的分区格式,它们支持的最大文件大小为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 4G /2G, 你可以把分区格式转换为 NTFS 来解决
你可以用下面的语句查询还原的数据库有多少个文件,这些文件有多大,还原后文件会放到那个磁盘上
restore filelistonly from disk='c:\ 备份文件名 .bak'
如果你要把数据文件放到其他空间足够的磁盘上,使用 move 选项来改变还原后的文件位置 , 示例
restore database 库名 from disk='c:\ 备份文件名 .bak'
with move ' 逻辑文件名 ' to 'c:\aa.mdf' -- 逻辑文件名可以用 restore filelistonly 查询, c:\aa.mdf 是逻辑文件名还原后的位置及文件名
如果你确定你的磁盘空间足够,则可能是分区格式的问题,对于 FAT32/16 的分区格式,它们支持的最大文件大小为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> 4G /2G, 你可以把分区格式转换为 NTFS 来解决
命令不错···
转载于:https://blog.51cto.com/pstman/33672