В нашей среде разработки мы уже давно используем конкретный сценарий резервного копирования и восстановления для каждого из наших продуктов с помощью различных версий SQL Server и различных конфигураций среды без каких-либо проблем.
Недавно мы обновили до SQL Server 2012 в качестве нашего стандартного сервера разработки с уровнем совместимости SQL 2005 (90) для поддержки поддержки устаревших систем. Теперь мы обнаруживаем, что на одной конкретной машине dev мы получаем следующую ошибку при попытке резервного копирования базы данных:
Невозможно использовать файл резервной копии "D:\MyDB.bak", потому что он был первоначально отформатирован с размером сектора 512 и теперь находится на устройстве с размером сектора 4096. BACKUP DATABASE заканчивается ненормально.
С командой:
BACKUP DATABASE MyDB TO DISK = N'D:\MyDB.bak' WITH INIT , NOUNLOAD , NAME = N'MyDB backup', NOSKIP , STATS = 10, NOFORMAT
Любопытно то, что ни аппаратное обеспечение, ни разделы на этой машине-разработчике не изменились, хотя размер их сектора различен, и это ранее не было проблемой.
Из моих исследований (например, googling) этого вопроса не так много, кроме совета по использованию опции WITH BLOCKSIZE
, но это дает мне то же сообщение об ошибке.
По моему запросу:
BACKUP DATABASE MyDB TO DISK = N'D:\MyDB.bak' WITH INIT , NOUNLOAD , NAME = N'MyDB backup', NOSKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 4096
Может ли кто-нибудь пролить свет на то, как я могу создавать резервные копии и восстанавливать базу данных на жестких дисках с разными размерами сектора?