错误SQL72016:无法打开登录请求的数据库XXX。登录失败
我们面临一个与bacpac从本地SQL Instance导入Azure SQL相关的问题 我们在本地SQL(DAC\140..\sqlpackage)中生成一个bacpac,然后将此bacpac导入Azure。我们面临着这个问题: 错误SQL72016:无法打开登录请求的数据库XXX。这个 登录失败 这一问题并非总是发生,我们还有以下警告: 警告SQL0:将SQL Server vNext CTP指定为 目标平台可能遇到与Microsoft的兼容性问题 Azure SQL数据库v12 我们怎样才能解决这个问题错误SQL72016:无法打开登录请求的数据库XXX。登录失败,sql,azure-sql-database,sqlpackage,data-tier-applications,Sql,Azure Sql Database,Sqlpackage,Data Tier Applications,我们面临一个与bacpac从本地SQL Instance导入Azure SQL相关的问题 我们在本地SQL(DAC\140..\sqlpackage)中生成一个bacpac,然后将此bacpac导入Azure。我们面临着这个问题: 错误SQL72016:无法打开登录请求的数据库XXX。这个 登录失败 这一问题并非总是发生,我们还有以下警告: 警告SQL0:将SQL Server vNext CTP指定为 目标平台可能遇到与Microsoft的兼容性问题 Azure SQL数据库v12 我们怎样才
谢谢请从更新您的数据层应用程序框架版本。您使用的版本太旧
确保要迁移到Azure SQL的数据库没有在Azure环境中不存在的Windows登录。根据警告消息,您与Microsoft Azure SQL数据库v12存在兼容性问题。 这可能是导致导入错误的原因。 摘要: 截至2018年1月,在Azure SQL数据库中,新创建的数据库的默认兼容性级别为140。我们不会更新现有数据库的数据库兼容性级别。这由客户自行决定。尽管如此,我们强烈建议客户计划升级到最新的兼容性级别,以利用最新的改进 数据库兼容性级别是帮助数据库现代化的一个有价值的工具,它允许升级SQL Server数据库引擎,同时通过保持相同的升级前数据库兼容性级别来保持连接应用程序的功能状态。只要应用程序不需要利用仅在更高的数据库兼容性级别中可用的增强功能,那么升级SQL Server数据库引擎并保持以前的数据库兼容性级别是一种有效的方法 执行以下查询以确定连接到的数据库引擎的版本:
SELECT SERVERPROPERTY('ProductVersion');
要确定当前的兼容性级别,请查询sys.databases的compatibility_level列
SELECT name, compatibility_level FROM sys.databases;
将某些数据库行为设置为与指定版本的SQL Server兼容
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
有关详情,请参阅:
我认为你的Azure SQL数据库兼容性是140,但你的SQL Server数据库引擎兼容性是130。这就是兼容性问题。请将其更新至最新版本并再次测试
希望这有帮助。ok,将更新GAC,但是,与Azure SQL Windows登录相关的GAC似乎不是解决方案,因为有时我们可以进行导入,有时我们不进行导入。让我们更新并查看哪些错误不再出现。您是否已下载并运行Data Migration Assistant以验证数据库是否与Azure SQL数据库不兼容?您可能会发现您的数据库存在您不知道的不兼容。嗨,HLourenco,如果我的答案有帮助,您能接受(标记)或投票吗?谢谢,祝您愉快。嗨,Leon,在Azure中,我们的(SERVERPROPERTY('ProductVersion'))=12.0.2000.8,在本地计算机上,我们有14.0.1000.169。我们应该迁移Azure兼容性吗?数据库的兼容性设置为140