Почему сравнение схем в Visual Studio 2010 показывает различия, когда их нет? - PullRequest
3 голосов
/ 28 апреля 2010

Я надеялся, что Visual Studio 2010 принесет некоторые улучшения в функцию сравнения схем. Я подозреваю, что есть некоторые, но я не могу заставить что-то основное работать. Я засосал схему из базы данных SQL Server 2005. Затем, чтобы убедиться, что все работает, я провел сравнение схемы, выбрав базу данных в качестве источника и мой проект схемы в качестве цели. Они были в синхронизации. Когда вы фильтруете для просмотра только «Объекты без пропуска», никакие объекты не отображаются. Это говорит мне, что схемы действительно совпадают.

Затем некоторые изменения схемы были отправлены в базу данных (внешне - не через Visual Studio). Я хотел зафиксировать результат этих изменений, поэтому я сделал еще одно сравнение схемы - снова выбрав базу данных в качестве источника и мой проект в качестве цели. Он правильно нашел ряд изменений. Однако после того, как я «Напишу Обновления» в свой проект и переделал сравнение схемы, он все еще перечисляет изменения. Я продолжаю делать сравнения схем и писать обновления. Они кажутся успешными, но последующее сравнение схемы всегда перечисляет то, что кажется теми же самыми изменениями (как будто Ошибка записи). Однако в окне вывода отображаются только сообщения об успехе:

Target database synchronization has started.
Analyzing comparison results
Looking for modified catalog or server options
Finding dropped objects in the project system
Finding modified objects in the project system
Ready to process comparison results
Modifying scripts for objects that have changed or have been deleted
Adding new objects to the project system
Target schema was updated successfully. To compare the schema again, click Refresh.

Более того, когда я нажимаю на объекты, которые перечислены как «Другое определение», и просматриваю схему для этих объектов в окне «Определения объектов», я не вижу видимых различий между тем, что показано на левой и правой панелях. Обратите внимание, что я проверил параметры сравнения схемы и игнорирую пробелы.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 11 сентября 2010

У меня была похожая проблема в VS 2008. Проблема была в том, что проект был задан как проект SQL Server 2005, но целевым сервером был SQL Server 2008.

1 голос
/ 16 июня 2011

Я делаю это сегодня, и он не игнорирует такие вещи, как вкладки или возвраты, даже если игнорировать пробелы.Я скопировал / вставил текст в winmerge и включил просмотр пробелов, и я вижу различия (предположительно, не пробелы).

§¶

коды клавиш alt-20 и alt-21

1 голос
/ 30 июня 2010

Это сопоставляет некоторые ОЧЕНЬ непонятные настройки - я обнаружил, что настройка эскалации блокировки была различной для 2 таблиц. Что мне удалось найти только в свойствах таблицы через графический интерфейс SSMS.

Я бы предположил, что есть и другие неясные настройки, которые он ищет .....

...