sql – 在具有不同扇区大小的HDD上备份数据库
在我们的开发环境中,我们长期以来通过各种SQL Server版本和不同的环境配置为每个产品使用特定的备份和还原脚本,没有任何问题.
最近我们已经升级到SQL Server 2012作为我们的标准开发服务器,具有SQL兼容级别2005(90),以保持对旧系统的支持.现在我们发现在一个特定的dev的机器上,我们在尝试备份数据库时会收到以下错误:
命令是: 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的以下博客文章的评论部分找到解决这个问题的提示: 有关4k部门驱动器的更多信息: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |