Ошибка SQL72016: невозможно открыть базу данных XXX, запрошенную при входе в систему. Ошибка входа - PullRequest
1 голос
/ 17 апреля 2019

Мы столкнулись с проблемой, связанной с импортом bacpac из локального SQL-набора в Azure SQL.

Мы генерируем bacpac в нашем локальном SQL (DAC \ 140 .. \ sqlpackage) и затем импортируем этот bacpac вAzure.Мы столкнулись с этой проблемой:

Ошибка SQL72016: невозможно открыть базу данных XXX, запрошенную при входе в систему.Ошибка входа в систему

Эта проблема возникает не всегда, у нас также есть следующее предупреждение:

Предупреждение SQL0: проект, в котором в качестве целевой платформы может использоваться SQL Server vNext CTPпроблемы совместимости с базой данных Microsoft Azure SQL v12.

Как мы можем решить эту проблему?

Спасибо

Ответы [ 2 ]

1 голос
/ 19 апреля 2019

Согласно предупреждению, у вас есть проблемы совместимости с Microsoft Azure SQL Database v12.Это может быть причиной ошибки импорта.enter image description here

Сводка :

По состоянию на январь 2018 года в базе данных SQL Azure уровень совместимости по умолчанию составляет 140 для вновь создаваемых баз данных.Мы не обновляем уровень совместимости баз данных для существующих баз данных.Это решать покупателям по своему усмотрению.В связи с этим мы настоятельно рекомендуем клиентам планировать переход на последний уровень совместимости, чтобы использовать последние усовершенствования.

Уровень совместимости баз данных является ценным инструментом, помогающим в модернизации баз данных, позволяя SQL Server Database Engine.обновления, сохраняя функциональное состояние подключаемых приложений, поддерживая тот же уровень совместимости базы данных перед обновлением.Если приложению не нужно использовать улучшения, доступные только на более высоком уровне совместимости базы данных, это правильный подход для обновления компонента SQL Server Database Engine и поддержания предыдущего уровня совместимости базы данных.

Выполнениеследующий запрос для определения версии компонента Database Engine, к которому вы подключены:

SELECT SERVERPROPERTY('ProductVersion');

Чтобы определить текущий уровень совместимости, запросите столбец compatibility_level в sys.databases.

SELECT name, compatibility_level FROM sys.databases;

Устанавливает совместимость определенных поведений базы данных с указанной версией SQL Server.

ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 } 

Подробнее см. Уровень совместимости ALTER DATABASE (Transact-SQL)

Я думаю, что ваша совместимость с базой данных SQL Azure составляет 140, но совместимость с ядром базы данных SQL Server составляет 130. Это проблемы совместимости.Пожалуйста, обновите его до последней версии и протестируйте снова.

Надеюсь, это поможет.

0 голосов
/ 18 апреля 2019

Пожалуйста, обновите вашу версию Data-Tier Application Framework со здесь .Используемая вами версия слишком старая.

Убедитесь, что база данных, которую вы переносите в Azure SQL, не имеет имен входа Windows, которых не может быть в вашей среде Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...