2016-10-22 3 views
4

У меня есть проект базы данных с SSDT (инструменты данных SQL Server) в Visual Studio 2015 и контроль источника TFS.SSDT & TFS: сравнение базы данных SQL Server не работает

Сегодня утром, когда я пытаюсь сравнить две базы данных (БД -> TFS), это не сработало, и я получил ошибку:

Comparison completed. Difference detected. Restricted comparison. See error list for detail

И ошибки предупреждения список окна был:

Severity Code Description Project File Line Suppression State Warning The login for the target does not have the VIEW ANY DEFINITION permission. The comparison will be restricted to database scoped elements if the source is a database.

Пользователь SQL Server для SSDT был sa.

Заранее спасибо

ScreenShot


UPDATE: Я установил предупреждение сравнения по следующему запросу, но основной проблемой является существование еще:

USE [master] 
GO 

Grant VIEW ANY DEFINITION to [USERNAME]; 
GO 

USE [DBNAME] 
GO 

GRANT CONNECT to [USERNAME] 
GRANT VIEW DEFINITION TO [USERNAME] 
+0

Как вы сравниваете их? Через определение сборки? Определение выпуска? Какую команду вы выполняете для их сравнения? –

+0

@ DanielMann с Schema Compare Wizard –

+0

Тогда что это связано с TFS? Это похоже на проблему с Visual Studio или SSDT. –

ответ

0

Наконец я решил эту проблему по каплям и воссозданию объекта в MSSQLServer:

1

У меня был similar problem. Хотя у вас нет строковых литералов, он может все еще работать с проверкой:

  • Какая схема сравнения считает, что разница - нажмите кнопку развернуть слева от «Процедура».
  • Если у вас есть опция «Игнорировать пробелы» в параметрах сравнения.
  • Если строка окончания файла - это окна (CR LF) или unix (LF).
  • (Brute force solution) Используйте sqlpackage.exe для извлечения .dacpac обеих баз данных, переименуйте как .zip и сравните содержимое двух model.xml - там будет какая-то разница.
+0

Я бы также рекомендовал проверять кодировку файлов на обеих копиях. –

+0

Уважаемый @Taran, ваш ответ настолько полезен, я над этим работаю и нашел некоторые новые подробности. Пожалуйста, позвольте мне лучше проверить –