Jak „zhackować” migawkę bazy danych po tym, jak uaktualniła ją SQL Server

9

Mam do czynienia z problemem polegającym na tym, że migawek bazy danych nie można usunąć po aktualizacji SQL Server do 2014 . Migawki są nieczynne, ale nie można ich upuścić.

Teraz, chociaż element Connect ma rozczarowujący komentarz, zakładam, że zostanie to ostatecznie naprawione. Muszę się z tym jednak szybko uporać.

Czy istnieje sposób na usunięcie migawki bazy danych, której nie można usunąć z powodu tego błędu? Obawiam się, że wyczerpałem wszystkie udokumentowane środki, aby to zrobić. Może to wymagać nieudokumentowanych modyfikacji tabel systemowych. Czy istnieje sposób na wymuszenie usunięcia bazy danych (migawki)?

usr
źródło
Czy próbowałeś zamknąć serwer i usunąć pliki .SNP dla migawki? (A czy masz serwer testowy, aby to wypróbować?)
RLF
@RLF Nie próbowałem jeszcze niczego nieudokumentowanego. Codziennie mam okno konserwacji, więc mogę eksperymentować.
usr

Odpowiedzi:

4

Udało mi się to odtworzyć na maszynie wirtualnej platformy Azure i rozwiązać, po prostu ustawiając podstawową bazę danych w trybie offline i upuszczając migawkę, np.

ALTER DATABASE AdventureWorks2012 SET OFFLINE
DROP DATABASE AdventureWorks2012_SN001
wBob
źródło
1
To wyjaśnia, co mi się przydarzyło tydzień temu. Udało mi się upuścić migawkę i nie wiedziałem, dlaczego. Pamiętam, że ustawiłem macierzystą bazę danych w trybie offline.
usr
4
Tylko wyróżnienie dla maszyn wirtualnych platformy Azure. Jako programista dostaję 100 funtów miesięcznie „darmowego” limitu, więc utworzyłem maszynę wirtualną SQL 2012 A2 z galerii, przygotowanie i połączenie zajęło około 5 minut. Następnie pobrałem przykładową bazę danych Adventureworks2012, załączyłem ją i utworzyłem migawkę. Zaktualizowałem kilka rekordów, aby upewnić się, że migawka działa, a następnie uaktualniłem do SQL 2014. Zamknąłem maszynę wirtualną i wykonałem migawkę z opcją Capture, więc miałem powtarzalny proces. Próbowałem kilku rzeczy, ale tryb offline i usuwanie zadziałały. Teraz mogę usunąć moją maszynę wirtualną. Wygraj dla platformy Azure!
wBob