Ошибка при сравнении схем базы данных проекта

Раньше он работал нормально, когда я сравнивал схему проекта базы данных в Visual Studio 2012 с удаленной базой данных, развернутой на сетевом сервере, но я не могу выяснить, почему сейчас происходит сбой.

Он отлично работает, когда я сравниваю схему с той же базой данных, развернутой на локальном ПК. Поэтому кажется, что инструмент сравнения работает, но, похоже, проблема с удаленным сервером. В любом случае я могу решить проблему.

Я сравниваю ошибку с удаленным сервером ниже:

Error    52    Target is unavailable: Value cannot be null.Parameter name: catalogStamp    SqlSchemaCompare2    0    0   

4 ответа

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

База данных, к которой я подключался, была основана на Azure, и Microsoft недавно обновила их до уровня совместимости по умолчанию 140 (эквивалент SQL 2017). Предыдущие экземпляры работали на более ранних уровнях и работали прямо с самого начала. Запуск нижеуказанного исправил проблему для меня:

ALTER DATABASE [Database_Name] SET COMPATIBILITY_LEVEL = 120

Обязательно проверяйте любые побочные эффекты, прежде чем вносить изменения в уровень совместимости на любой производственной базе данных!

Как прокомментировал Thibault ниже, если вы хотите проверить существующие уровни совместимости, вы можете использовать:

SELECT name, compatibility_level FROM sys.databases 

И если вы хотите посмотреть, к каким версиям относятся различные уровни совместимости, посмотрите здесь https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level

Вы должны указать логин и пароль при подключении к серверу SQL. Если вы используете логин без пароля, это переходит эту ошибку.

Моя БД была Azure SQL DB и столкнулась с этой проблемой. Она была решена для меня с помощью Visual Studio 2017 вместо изменения уровней совместимости.

Имеется ли у вас удаленный доступ к базе данных SQL (включена ли служба TCP/IP) также, если вы используете вход в систему SQL Server, позволяют ли параметры безопасности SQl Server разрешать аутентификацию Windows и входы в систему SQL Server?

Другие вопросы по тегам