3

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

Затем некоторые изменения схемы были перенесены в базу данных (внешне - не через 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. 

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

Любые идеи?

+1

Мне было бы любопытно знать, если вы когда-нибудь удастся устранить эту проблему успешно? –

+0

Дэвид - К сожалению, нет. –

+0

по какой-то причине я не могу его сравнить и сообщить о различиях в индексах! Yest Я повернул «игнорировать». Очень странно, что я не найду кого-нибудь еще с этой проблемой. – codeputer

ответ

1

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

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

1

У меня была аналогичная проблема в VS 2008. Маршрут проблема заключалась в том, что проект был создан в качестве SQL Server 2005, но целевой сервер был на самом деле SQL Server 2008.

1

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

§¶

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

+0

Различия в пробелах, например между вкладками и пробелами, по-прежнему вызывают ложные срабатывания в инструменте сравнения схем Visual Studio 2013. И да, Ignore Whitespace проверяется в вариантах сравнения. Объясняя подробности, сравнение схемы указывает только на отличия от основного текста (например: различия в пробеле). Если я очищу опцию Ignore Whitespace, я получаю больше различий, так что checkbox что-то делает, но я не знаю что. – Zarepheth