在我们的开发环境中,我们长期以来一直通过各种 SQL Server 版本和不同的环境配置为每个产品使用特定的备份和恢复脚本,没有出现任何问题。
最近,我们已升级到 SQL Server 2012 作为我们的标准开发服务器,其 SQL 兼容性级别为 2005 (90),以维持对旧系统的支持。现在我们发现在一台特定的开发人员的机器上尝试备份数据库时出现以下错误:
无法使用备份文件“D:\MyDB.bak”,因为它是
最初格式化为扇区大小 512,现在位于具有
扇区大小 4096。备份数据库异常终止。
命令是:
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 , NOUNLOAD , NAME = N'MyDB backup', NOSKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 4096
谁能告诉我如何将数据库备份和恢复到具有不同扇区大小的硬盘上?