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

Cách bật RPC Out bằng T-SQL

Đôi khi bạn có thể cần bật tùy chọn “RPC Out” trên một máy chủ được liên kết. Tùy chọn này cho phép RPC đến máy chủ nhất định.

RPC là viết tắt của Từ xa Thủ tục Gọi. RPC về cơ bản là một thủ tục được lưu trữ đang được chạy từ xa từ Máy chủ 1 đến Máy chủ 2 được liên kết.

Nếu bạn không bật tính năng này và bạn cố gắng thực thi một quy trình được lưu trữ trên máy chủ được liên kết, bạn có thể sẽ gặp lỗi Msg 7411 cho bạn biết rằng máy chủ không được định cấu hình cho RPC.

Dù sao, bạn có thể bật / tắt tùy chọn này bằng cách sử dụng SQL Server Management Studio (SSMS) hoặc bằng T-SQL.

Trong SSMS, bạn có thể đi tới Linked Server Properties bằng cách nhấp chuột phải vào tên của máy chủ được liên kết. Từ đó, nhấp vào Server Options , nơi bạn sẽ thấy RPC Out tùy chọn được đặt thành True hoặc False .

Trong T-SQL, bạn có thể sử dụng sp_serveroption hệ thống lưu trữ thủ tục để làm điều tương tự.

Ví dụ

Đây là một ví dụ về việc sử dụng sp_serveroption để bật “RPC Out” trên một máy chủ được liên kết.

EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';

Điều này cho phép tùy chọn RPC Out cho máy chủ được liên kết có tên MyLinkedServer.

Một cách khác để thực hiện thủ tục này là đặt tên rõ ràng cho các tên tham số:

EXEC sp_serveroption 
    @server = 'MyLinkedServer', 
    @optname = 'rpc out', 
    @optvalue = 'on';

Vì vậy, bạn có thể thấy rằng đối số đầu tiên (@server ) là tên của máy chủ được liên kết, thứ hai (@optname ) chỉ định tên tùy chọn và đối số thứ ba (@optvalue ) chỉ định giá trị của nó.

Thats tất cả để có nó. RPC Out hiện đã được bật trên máy chủ được liên kết.

Kiểm tra Cài đặt RPC Out

Chúng tôi có thể kiểm tra cài đặt RPC out của mình bằng đoạn mã sau.

SELECT 
    is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';

Kết quả:

+----------------------+
| is_rpc_out_enabled   |
|----------------------|
| 1                    |
+----------------------+

Giá trị 1 nghĩa là RPC Out đã được bật. Giá trị 0 có nghĩa là nó đã bị vô hiệu hóa.

Tắt RPC Out

Bạn có thể sử dụng false thay vì true để vô hiệu hóa nó.

EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';

Việc thực thi mã đó sẽ vô hiệu hóa RPC Out trên MyLinkedServer.

Ngoài ra, bạn có thể sử dụng onoff thay vì truefalse để chuyển đổi tùy chọn này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác

  2. Cách ánh xạ nhiều phân vùng thành một nhóm tệp trong SQL Server (T-SQL)

  3. Các mục ORDER BY phải xuất hiện trong danh sách chọn nếu câu lệnh chứa toán tử UNION, INTERSECT hoặc EXCEPT (SQL Server)

  4. Tại sao máy chủ sql lưu trữ các ký tự dấu chấm hỏi thay vì các ký tự tiếng Nhật trong các trường NVarchar?

  5. Bên trong tham gia ba bảng