sql – 在具有不同扇区大小的HDD上备份数据库

前端之家收集整理的这篇文章主要介绍了sql – 在具有不同扇区大小的HDD上备份数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我们的开发环境中,我们长期以来通过各种sql Server版本和不同的环境配置为每个产品使用特定的备份和还原脚本,没有任何问题.

最近我们已经升级sql Server 2012作为我们的标准开发服务器,具有sql兼容级别2005(90),以保持对旧系统的支持.现在我们发现在一个特定的dev的机器上,我们在尝试备份数据库时会收到以下错误

Cannot use the backup file ‘D:\MyDB.bak’ because it was
originally formatted with sector size 512 and is now on a device with
sector size 4096. BACKUP DATABASE is terminating abnormally.

命令是:

BACKUP DATABASE MyDB TO  DISK = N'D:\MyDB.bak' WITH  INIT,NOUNLOAD,NAME = N'MyDB backup',NOSKIP,STATS = 10,NOFORMAT

好奇的是,这个开发者机器上的硬件和分区都没有改变,尽管它们的扇区大小不一样,但这并不是一个问题.

从我的研究(即谷歌搜索)开始,除了使用WITH BLOCKSIZE选项的建议之外,这个问题还没有很多,但是给出了相同的错误消息.

我的查询是:

BACKUP DATABASE MyDB TO  DISK = N'D:\MyDB.bak' WITH  INIT,NOFORMAT,BLOCKSIZE = 4096

任何人都可以说明如何将数据库备份和还原到具有不同扇区大小的HDD?

解决方法

此问题是由不同驱动器使用的不同扇区大小引起的.

您可以通过将原始备份命令更改为:

BACKUP DATABASE MyDB TO  DISK = N'D:\MyDB.bak' WITH  INIT,FORMAT

请注意,我已将NOFORMAT更改为FORMAT,并将NOSKIP删除.

在MSDN的以下博客文章评论部分找到解决这个问题的提示
SQL Server–Storage Spaces/VHDx and 4K Sector Size

有关4k部门驱动器的更多信息:
http://blogs.msdn.com/b/psssql/archive/2011/01/13/sql-server-new-drives-use-4k-sector-size.aspx

猜你在找的MsSQL相关文章