Linked server – uruchamianie procedur zdalnych

3-cze-2014

 

Chcesz utworzyć serwer linkowany, ale w taki sposób aby jeden wybrany użytkownik z lokalnego serwera mógł uruchomić jedną konkretną procedurę na serwerze zdalnym.

1. Na serwerze zdalnym załóż login sql. Nadaj mu odpowiednie minimalne uprawnienia (user w bazie i execute na wybranej procedurze)

2. Na obu serwerach upewnij się, że jest włączona opcja remote access. Dzięki niej uruchamianie procedur przez linked serwer jest możliwe.

exec sp_configure ‘remote access’, 1
RECONFIGURE WITH OVERRIDE

Zmiana opcji wymaga restartu SQL

3. Na serwerze lokalnym zdefiniuj linked server:

remote-server-as-linked

Uwaga, aby uruchamiać zdalnie procedury, linked server musi na to zezwalać. Dlatego przełącz opcje PRC i PRC Out na true.

remote-server-RPC

 

 

No i pora na konfigurację uprawnień. Jeżeli jesteś lokalnym użytkownikiem my_local_user to do zdalnego serwera połącz się wykorzystując login z serwera zdalnego my_remote_user 

remote-server-permissions

Jeżeli po drodze otrzymasz błąd:

remote_server_error

To sprawdź, czy rzeczywiście masz (powinieneś mieć) uprawnienia do połaczenia do zdalnego serwera. Jeśli nadałeś uprawnienia jak powyżej to dostęp posiada tylko my_local_user a ty niekoniecznie…, nawet jeśli jesteś sysadminem. Zignoruj błąd, a linked serwer dla wskazanego użytkownika będzie działać!

Komentarze są wyłączone

Autor: Rafał Kraik