2013-02-08 8 views
9

Po zainstalowaniu niestandardowego obiektu CLR Sql Server Developer Tools (SSDT) ​​VS2012 nie zezwoli na aktualizację. ... Błąd jest „Wykryto dryf schematu Źródło Prasa Porównaj odświeżyć Po odświeżyć samo dziejeSql Schema Compare nie aktualizuje się po zainstalowaniu obiektu CLR "Wykryto dryf schematu źródłowego"

Tried W ustawieniach ustawić obiekt do tylko procedur przechowywanych Ustawienia. -> Ogólne -> Blok o możliwości utraty danych -> próbowałem zarówno na i poza

Odpowiedz

2

to nie jest odpowiedź, ale kluczem do radzenia sobie z tym problemem

byłem zaktualizować Columa z VARCHAR [200] do VARCHAR [max] i mam ten problem.. Zalogowałem się na serwer i próbowałem ręcznie zaktualizować bazę danych za pomocą SQL Management Studio, które zostało tam zainstalowane i otrzymałem ten błąd:

"Saving changes is not permitted. The changes you have made require the folloing tables to be drpped and re-created. You have either made changes to a table that can't be re-created or enable the option Prevent saving changes that require the table to be re-created." 

Wygląda na to, że ponowne utworzenie tabeli jest tak niebezpieczne, że nie można obsłużyć "zablokowania/odblokowania na możliwych utraconych danych". Myślę więc, że tylko wtedy, gdy będziemy obchodzić to LOKALNE ostrzeżenie, możemy ZDALNIE zaktualizować bazę danych.

Ale dlaczego [200] do [maks.] Prowadzi do ponownego utworzenia tabeli? To nie ma sensu. Próbowałem [200] do [1000], a to nie działało tak dobrze. To może być kluczem do tego problemu.

A jeśli zrobisz tę samą aktualizację w Eksploratorze serwerów w VS, zamiast SQL Management Studio, to działa. Znowu, dlaczego?

+0

Niestety uciekliśmy się do zrzucania tabel, aby obejść ten problem. –

7

Ten rodzaj pętli może być również spowodowany przez nieudany projekt SSDT. Projekt referencyjny może być brakujący, rozładowany lub zawiera błąd, który uniemożliwia zakończenie porównywania.

+0

Dzięki, w moim przypadku VS narzekał na "dryf schematu źródłowego" wielokrotnie, a jednak nie zmieniałem go podczas aktualizacji schematu - kilka problemów w projekcie SSDT było przyczyną (brakowało instrukcji GO między CREATE INDEX) – steve

+0

Dzięki! Wszystko, co próbowałem zrobić, to edytować indeks na stole. Okazuje się, że miałem niedokończony proces w rozwiązaniu, o którym zapomniałem, i spowodował on niepowodzenie budowy projektu. –

0

Próbowałem uruchomić VS jako administrator, to działało.

0

Może się to zdarzyć, gdy użytkownik bazy danych "zmieni się".

Następująca dość przerażająca strona z forum opisuje problemy, w których zagraniczni hakerzy próbowali uzyskać dostęp do użytkownika "sa" db przy użyciu brutalnej siły, przy każdej próbie zmiany znacznika daty użytkownika (który jest postrzegany jako dryf schematu):

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/5c22a7b4-7a82-4717-a118-2475bc62705b/schema-compareupdate-error-target-schema-drift-detected?forum=ssdt

Tutaj również wspomnieć, że można wyszukać AF-user kilka razy, aby sprawdzić, czy to dzieje się do Ciebie:

SELECT * FROM sys.server_principals WHERE principal_id=1 

jestem obecnie przeżywa ten sam problem (czyli użytkownik-sa jest modyfikowany; Nie wiem jeszcze nic o hakerach) i jeszcze nie znalazłem rozwiązania. Zaktualizuję tę odpowiedź, jeśli to zrobię.

Powiązane problemy