sql >> データベース >  >> RDS >> Sqlserver

SQL Server:リンクサーバーでユーザー定義関数(UDF)を呼び出す方法は?

    リモートプロシージャを呼び出すには、リンクサーバーでRPCOUTをアクティブ化する必要があります。 SSMSでリンクサーバーのプロパティを開き、[サーバーオプション]をクリックして、RPCOutがTrueであることを確認します。

    そして...あなたのリンクはあなたの問題に対する解決策を持っています。回避策の最後のオプションを見てください

    これがあなたのためのテストケースです:

    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. 警告#1264:mysqlの範囲外エラー

    2. PythonはMySQLのプリペアドステートメントをサポートしていますか?

    3. SQL Server2008R2のウィンドウ関数に関する問題

    4. LANからPostgreSQLサーバーにアクセスする