sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server:Hur anropar man en användardefinierad funktion (UDF) på länkad server?

För att anropa fjärrprocedurer måste du aktivera RPC OUT på din länkade server. Öppna den länkade serverns egenskaper i SSMS och klicka sedan på "Serveralternativ" och se till att RPC Out är sant.

Och...Din länk har lösningen på ditt problem. Titta på det sista alternativet i WorkAround

Här är ett testfall för dig:

use master
go
EXEC master.dbo.sp_addlinkedserver @server = N'(LOCAL)', @srvproduct=N'SQL Server';
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'(LOCAL)',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL;
EXEC master.dbo.sp_serveroption @server=N'(LOCAL)', @optname=N'rpc out', @optvalue=N'true'
GO
Use Testing
GO
CREATE FUNCTION [dbo].[UserGroupMembershipNames](@UserGUID uniqueidentifier)  
RETURNS VARCHAR(8000)
AS
BEGIN
    RETURN 'hello'
END
GO
select dbo.[UserGroupMembershipNames]('4278E0BF-2F7A-4D60-A09C-95E517E21EBC')
GO
exec [(LOCAL)].Testing.dbo.sp_executesql 
N'select dbo.UserGroupMembershipNames(@UserGUID)',N'@UserGUID uniqueidentifier'
,@UserGUID='4278E0BF-2F7A-4D60-A09C-95E517E21EBC'


  1. MySQL Understanding Basic Joins

  2. Hur använder jag strukturella anteckningar för att ställa in SQL-typ till Date i modell första tillvägagångssätt

  3. Jag har flera frågor vill slå samman alla sökresultat till samma tabell

  4. anropar en mysql-funktion som returnerar varchar i viloläge