首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure SQL -向外部表上的查询添加列时出现奇怪的错误

Azure SQL -向外部表上的查询添加列时出现奇怪的错误
EN

Stack Overflow用户
提问于 2021-04-23 16:35:22
回答 4查看 515关注 0票数 2

编辑20210601,作为更新:

这已经被证实是一个bug,几周前我们收到了一封来自支持工程师的电子邮件,说他们已经为Elastic Query实现了新的逻辑(仍在公共预览中),这有这个副作用。解决方法是指定转换(例如nvarchar用于文本等)。对于我们的情况-逻辑已经恢复,所以我们的解决方案在以前受影响的服务器上工作,因为我知道将会有一个新的版本,不会有这个bug。

原问题:

我有3个Azure SQL数据库: A、B和C

数据库C是数据源,数据库A和B具有该数据库的外部表。外部表的定义是相同的。

在过去的几天里,一些事情发生了变化--用于加载数据的查询在数据库A中不再有效。但是,它们仍然在数据库B中工作。

首先,这个查询在两个数据库中都有效:

代码语言:javascript
复制
SELECT * FROM < external table to database C >

但是这个查询只适用于数据库B,而不适用于数据库A:

代码语言:javascript
复制
SELECT 'test' FROM < external table to database C >

错误消息:

代码语言:javascript
复制
Msg 46836, Level 16, State 2, Line 1
External table schema does not match actual schema from remote table: Mismatch between actual and expected type of column 1 in the remote query result. Expected: VARCHAR, Actual: NVARCHAR

在尝试其他数据类型(如datetime )时也会出现同样的错误-它需要datetime2。

因此,我首先尝试转换数据类型,然后它在两个数据库中都有效:

代码语言:javascript
复制
SELECT CAST('test' AS nvarchar(10)) FROM < external table to database C >

这仍然不起作用(同样的错误,这很奇怪,因为它说期望varchar):

代码语言:javascript
复制
SELECT CAST('test' AS varchar(10)) FROM < external table to database C >

你知道这是什么原因吗?

具体地说,为什么同一查询的数据库之间会有差异?这种变化是如何发生的,我百分之百确定我这边的服务器或数据库的配置没有变化。

EN

回答 4

Stack Overflow用户

发布于 2021-04-26 22:32:30

我在3个Azure数据库中的2个上遇到了同样的问题。

2个有问题的有版本(SELECT @@ version ),即较新的: Microsoft SQL Azure (RTM) - 12.0.2000.8 Apr 19 2021 17:05:18版权所有(C) 2019 Microsoft Corporation

仍然正常工作的版本有: Microsoft SQL Azure (RTM) - 12.0.2000.8 Feb 4 2021 02:12:36版权所有(C) 2019 Microsoft Corporation

你是否可以降级到12.0.2000.8 Feb 4 2021 02:12:36,看看你是否仍然有这个问题?

我认为微软在二月份到四月份之间引入了一个bug。

票数 2
EN

Stack Overflow用户

发布于 2021-05-05 00:46:25

此问题的快速更新。我们遇到这个问题大约有10天了。我们已经联系了Microsoft sql server支持团队,是的。它的100%是微软引入的问题。我被告知这个bug将在1到2个月内修复。

票数 2
EN

Stack Overflow用户

发布于 2021-04-30 18:20:36

这是Azure中的一个错误-通过门户报告它。并不是所有的服务器都有这个问题。

要检查MS是否已为您排序,请运行"DBCC FREEPROCCACHE“,然后重试。

编辑:当使用外部表时,同样的错误也会影响大小写。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67226650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档