Вы когда-нибудь сталкивались с ситуацией, когда SQL Server Management Studio (SSMS) вылетает при попытке восстановить резервную копию базы данных, хранящуюся в Azure Blob Storage? Если да, то вы не одиноки. В этой статье мы рассмотрим обходное решение, чтобы исправить эту проблему и восстановить базу данных без дополнительных прерываний.
Недавно я помогал клиенту, который столкнулся с катастрофической ситуацией и срочно нуждался в восстановлении резервной копии базы данных, хранящейся в Azure Blob Storage. Однако каждый раз, когда они пытались использовать опцию меню “Восстановить базу данных” в SSMS и выбирали устройство в качестве URL, приложение вылетало. Это неожиданное поведение вызывало много разочарования и затрудняло их прогресс.
При дальнейшем исследовании мы обнаружили, что сбой происходит из-за проблемы с информацией, хранящейся SSMS о учетной записи хранилища. Чтобы подтвердить это, я протестировал те же шаги на своей собственной SSMS и столкнулся с тем же сбоем. Это заставило нас полагать, что проблема не связана с окружением клиента, а является общей проблемой.
После нескольких попыток и ошибок мы нашли простое обходное решение, которое решило проблему. Мы попросили клиента подключиться к хранилищу Azure напрямую с помощью SSMS, следуя этим шагам:
- Откройте SSMS
- Нажмите на опцию “Подключиться к учетной записи хранилища”
- Введите необходимые данные для подключения к учетной записи хранилища
Удивительно, даже при подключении к учетной записи хранилища напрямую, мы столкнулись с тем же сбоем. Это подтвердило нашу теорию о том, что проблема заключается в информации, хранящейся SSMS о учетной записи хранилища.
Чтобы решить эту проблему, нам нужно было очистить информацию, хранящуюся в кэше SSMS. К сожалению, мы не смогли найти способ очистить только информацию, связанную с хранилищем Azure, из профиля пользователя. В результате нам пришлось удалить все сохраненные настройки SSMS, удалив файл “sqlstudio.bin” из профиля пользователя. Вот как это сделать:
- Откройте диалоговое окно “Выполнить”, нажав клавиши Windows + R
- Вставьте следующий путь и нажмите Enter:
%AppData%\Microsoft\SQL Server Management Studio - Найдите папку, соответствующую вашей версии SSMS (например, 11.0 для SQL Server 2012, 12.0 для SQL Server 2014 и т. д.)
- Удалите файл “sqlstudio.bin” в этой папке (вы также можете переименовать файл, и SSMS создаст новый)
Важно отметить, что это решение не является самым элегантным, так как оно удалит всю сохраненную информацию в SSMS, включая имена пользователей, пароли, имена серверов и любые другие настройки, которые вы можете настроить. Однако это необходимый шаг для устранения проблемы сбоя и восстановления базы данных.
Следуя этому обходному решению, мой клиент смог успешно восстановить резервную копию базы данных из Azure Blob Storage без дальнейших сбоев. Если у вас возникла подобная проблема, я надеюсь, что это решение вам поможет.
Помните, что всегда полезно регулярно создавать резервные копии ваших баз данных и тестировать процесс восстановления, чтобы быть готовыми к любым непредвиденным ситуациям. Будьте активными и поддерживайте работу вашей среды SQL Server без сбоев!