Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да активирате RPC Out с помощта на T-SQL

Понякога може да се наложи да активирате опцията „RPC Out“ на свързан сървър. Тази опция позволява RPC към дадения сървър.

RPC означава отдалечени повиквания на процедури. RPC е основно съхранена процедура, която се изпълнява дистанционно от сървър 1 към свързан сървър 2.

Ако не активирате това и се опитате да изпълните съхранена процедура на свързания сървър, вероятно ще получите съобщение за грешка 7411, което ви казва, че сървърът не е конфигуриран за RPC.

Както и да е, можете да активирате/деактивирате тази опция или чрез SQL Server Management Studio (SSMS) или с T-SQL.

В SSMS можете да отидете на Linked Server Properties като щракнете с десния бутон върху името на свързания сървър. От там щракнете върху Server Options , където ще видите RPC Out опция, зададена на True или False .

В T-SQL можете да използвате sp_serveroption системна съхранена процедура, за да направи същото.

Пример

Ето пример за използване на sp_serveroption за да активирате „RPC Out“ на свързан сървър.

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

Това активира опцията RPC Out за свързания сървър, наречен MyLinkedServer.

Друг начин за изпълнение на тази процедура е изрично да наименувате имената на параметрите:

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

Така че можете да видите, че първият аргумент (@server ) е името на свързания сървър, вторият (@optname ) указва името на опцията и третия аргумент (@optvalue ) определя неговата стойност.

Това е всичко. RPC Out вече е активиран на свързания сървър.

Проверете настройката за RPC Out

Можем да проверим нашата настройка за RPC изход със следния код.

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

Резултат:

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

Стойност на 1 означава, че RPC Out е активиран. Стойност 0 означава, че е деактивиран.

Деактивиране на RPC Out

Можете да използвате false вместо true за да го деактивирате.

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

Изпълнението на този код ще деактивира RPC Out на MyLinkedServer.

Като алтернатива можете да използвате on и off вместо true и false за да превключите тази опция.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с екземпляр на SQL Server чрез използване на удостоверяване на Windows или удостоверяване на SQL Server - SQL Server / T-SQL урок, част 3

  2. datetime срещу datetimeoffset в SQL Server:Каква е разликата?

  3. Как да огранича NULL като параметър до съхранената процедура SQL Server?

  4. Използвайте променлива с TOP в оператора select в SQL Server, без да го правите динамичен

  5. Ляво подреждане в SQL Server – 3 еквивалента на LPAD().