【发布时间】:2016-11-21 10:30:48
【问题描述】:
背景:
我正在将 SQL Server 数据仓库迁移到 Azure SQL 数据仓库。数据库是 SSAS OLAP 多维数据集的源。
一些度量值组已被分区,并依赖表值函数来查询分区的相关数据。
问题:
我无法在 Azure-DWH 中创建这些函数。
示例函数: create function udm.MyFunction() 以表的形式返回(select getdate(), getutcdate())
错误信息: 消息 104051,第 16 层,状态 1,第 46 行 不支持的数据类型错误。语句引用了并行数据仓库中不支持的数据类型,或者存在产生不受支持的数据类型的表达式。修改语句并重新执行。
MSDN 链接:https://msdn.microsoft.com/en-US/library/mt203952.aspx 列出“return_data_type”并提到“是用户定义的标量函数的返回值。对于 Transact-SQL 函数,允许 SQL 数据仓库中支持的所有标量数据类型。时间戳(行版本)数据类型不是受支持的类型。”
我的假设是 TABLE 返回类型是错误,因为我已经能够创建返回单个值的函数。
我不确定是否支持表值函数,如果支持,我需要做些什么才能让它们正常工作。
【问题讨论】:
-
如果多维数据集是多维的,那么我明白你为什么使用函数了。如果它是表格,那么您应该能够使用存储过程。是哪个?
-
它是多维的,并且是托管在 Azure VM 中的 SQL Server 2016。
标签: azure-sqldw