我正在尝试创建驻留在远程 Azure SQL Server 中的数据视图。我似乎无法在视图中创建一个表或临时表来存储 sp_exeucte_remote 调用的结果,因为这是不允许的,所以我尝试使用一个函数,但随后我收到一个错误,抱怨以下错误基于提供函数定义。
Invalid use of a side-effecting operator 'INSERT EXEC' within a function
CREATE OR ALTER FUNCTION [dbo].[fn_Test]()
RETURNS @Results TABLE
(
[ID] INT,
[$ShardName] VARCHAR(500)
)
AS
BEGIN
INSERT INTO @Results
EXEC sp_execute_remote N'MyExternalDatasource', N'SELECT 1'
RETURN;
END
如何创建存在于远程 Azure SQL Server 上的数据视图,该数据也作为视图存在?仅供参考 - 我尝试创建视图的服务器也是 Azure SQL Server。