Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server:Làm thế nào để gọi một chức năng do người dùng xác định (UDF) trên máy chủ được liên kết?

Để gọi các thủ tục từ xa, bạn cần kích hoạt RPC OUT trên Máy chủ được Liên kết của mình. Mở Thuộc tính của Máy chủ được Liên kết trong SSMS, sau đó nhấp vào "Tùy chọn Máy chủ" và đảm bảo RPC Out là True.

Và ... Liên kết của bạn có giải pháp cho vấn đề của bạn. Xem tùy chọn cuối cùng trong Giải pháp thay thế

Đây là một trường hợp thử nghiệm dành cho bạn:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu Hệ điều hành SQL Server đang chạy (Ví dụ T-SQL)

  2. PHP + SQL Server - Làm cách nào để đặt bộ mã cho kết nối?

  3. T-SQL lặp qua cột dữ liệu XML để lấy ra tập hợp các đường dẫn duy nhất

  4. DECRYPTBYASYMKEY () Không trả lại giá trị mong đợi

  5. Cách tốt nhất để tăng tải trong ssis