导出 Azure SQL 数据库时出现奇怪的错误。导出一直工作正常,直到最近发生一些架构更改,但现在出现错误 SQL71501。
该数据库是V12,兼容性级别130(尽管master
数据库仍兼容级别 120)。
该问题似乎是由一个新的表值函数引起的,该函数使用内置的STRING_SPLIT https://msdn.microsoft.com/en-gb/library/mt684588.aspx功能。已经有存储过程使用STRING_SPLIT
它们似乎没有影响导出,但该函数(编译正常,并且工作正常)似乎导致导出出现问题。
下面的函数是真实函数的简化版本,但会导致相同的问题。
CREATE FUNCTION [dbo].[TestFunction](
@CommaSeparatedValues VARCHAR(MAX)
)
RETURNS TABLE
AS
RETURN
SELECT c.ClientId,
c.FullName
FROM dbo.Client c
INNER JOIN STRING_SPLIT(@CommaSeparatedValues, ',') csv
ON c.ClientId = csv.value
导入/导出历史边栏选项卡中给出的完整错误消息如下:
服务操作期间遇到错误。
在用作数据包一部分的架构中发现一个或多个不受支持的元素。
错误 SQL71501:验证元素 [dbo].[TestFunction] 时出错:函数:[dbo].[TestFunction] 具有对对象 [dbo].[STRING_SPLIT] 的未解析引用。
错误 SQL71501:验证元素 [dbo].[TestFunction] 时出错:函数:[dbo].[TestFunction] 包含对对象的未解析引用。该对象不存在或引用不明确,因为它可能引用以下任何对象:[dbo].[Client].[csv]、[dbo].[STRING_SPLIT].[csv] 或 [dbo]。 [STRING_SPLIT]。[值]。
我是微软SQL团队的小陈。我们已经在努力解决这个问题。该修复程序将在接下来的几周内部署到导出服务。同时,该修复已在最新的 DacFX 16.4 中提供(https://blogs.msdn.microsoft.com/ssdt/2016/09/20/sql-server-data-tools-16-4-release/ https://blogs.msdn.microsoft.com/ssdt/2016/09/20/sql-server-data-tools-16-4-release/)。在我们在服务中修复此问题之前,您可以下载 DacFX 16.4 并使用 sqlpackage 来解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)