В нашей среде разработки мы уже давно используем конкретный сценарий резервного копирования и восстановления для каждого из наших продуктов с помощью различных версий 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
Может ли кто-нибудь пролить свет на то, как я могу создавать резервные копии и восстанавливать базу данных на жестких дисках с разными размерами сектора?