sql >> Database >  >> RDS >> Sqlserver

Hoe RPC Out in te schakelen met T-SQL

Mogelijk moet u af en toe de optie "RPC Out" inschakelen op een gekoppelde server. Met deze optie wordt RPC naar de opgegeven server ingeschakeld.

RPC staat voor Remote Procedure Calls. RPC is in feite een opgeslagen procedure die op afstand wordt uitgevoerd van Server 1 naar gekoppelde Server 2.

Als u dit niet inschakelt en u probeert een opgeslagen procedure uit te voeren op de gekoppelde server, krijgt u waarschijnlijk de foutmelding Msg 7411 dat de server niet is geconfigureerd voor RPC.

Hoe dan ook, u kunt deze optie in-/uitschakelen met SQL Server Management Studio (SSMS) of met T-SQL.

In SSMS kunt u naar de Linked Server Properties . gaan door met de rechtermuisknop op de naam van de gekoppelde server te klikken. Klik vanaf daar op Server Options , waar je de RPC Out . ziet optie ingesteld op True of False .

In T-SQL kun je de sp_serveroption . gebruiken systeem opgeslagen procedure om hetzelfde te doen.

Voorbeeld

Hier is een voorbeeld van het gebruik van sp_serveroption om "RPC Out" op een gekoppelde server in te schakelen.

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

Dit activeert de RPC Out-optie voor de gekoppelde server genaamd MyLinkedServer.

Een andere manier om deze procedure uit te voeren is om de parameternamen expliciet een naam te geven:

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

U kunt dus zien dat het eerste argument (@server ) is de naam van de gekoppelde server, de tweede (@optname ) specificeert de optienaam en het derde argument (@optvalue ) specificeert de waarde.

Dat is alles. RPC Out is nu ingeschakeld op de gekoppelde server.

Controleer de RPC Out-instelling

We kunnen onze RPC-out-instelling controleren met de volgende code.

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

Resultaat:

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

Een waarde van 1 betekent dat RPC Out is ingeschakeld. Een waarde van 0 betekent dat het is uitgeschakeld.

RPC uit uitschakelen

U kunt false . gebruiken in plaats van true om het uit te schakelen.

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

Als u die code uitvoert, wordt RPC Out op MyLinkedServer uitgeschakeld.

U kunt ook on . gebruiken en off in plaats van true en false om van deze optie te wisselen.


  1. Basisprincipes van PostgreSQL-schemabeheer

  2. 2 manieren om de tabellen in een SQLite-database weer te geven

  3. Hoe mysql-rij te verwijderen nadat de tijd is verstreken?

  4. Waarom crashte mijn MySQL-database? Krijg inzichten met het nieuwe MySQL Freeze Frame