원격 서버는 이전 버전과의 호환성을 위해 SQL Server에서만 지원됩니다. 새 애플리케이션은 대신 연결된 서버를 사용해야 합니다. 자세한 내용은 연결된 서버(데이터베이스 엔진)를 참조하세요.
원격 서버 구성을 사용하면 SQL Server의 한 인스턴스에 연결된 클라이언트가 별도의 연결을 설정하지 않고 SQL Server의 다른 인스턴스에서 저장 프로시저를 실행할 수 있습니다. 대신 클라이언트가 연결된 서버는 클라이언트 요청을 수락하고 클라이언트를 대신하여 원격 서버로 요청을 보냅니다. 원격 서버는 요청을 처리하고 결과를 원래 서버로 반환합니다. 이 서버는 차례로 해당 결과를 클라이언트에 전달합니다. 원격 서버 구성을 설정할 때 보안을 설정하는 방법도 고려해야 합니다.
다른 서버에서 저장 프로시저를 실행하도록 서버 구성을 설정하고 기존 원격 서버 구성이 없는 경우 원격 서버 대신 연결된 서버를 사용합니다. 연결된 서버에 대해 저장 프로시저와 분산 쿼리가 모두 허용됩니다. 그러나 원격 서버에 대해 저장 프로시저만 허용됩니다.
원격 서버 세부 정보
원격 서버는 쌍으로 설정됩니다. 한 쌍의 원격 서버를 설정하려면 두 서버가 서로를 원격 서버로 인식하도록 구성합니다.
대부분의 경우 원격 서버에 대한 구성 옵션을 설정할 필요가 없습니다. SQL Server Set은 로컬 컴퓨터와 원격 컴퓨터 모두에서 기본값을 설정하여 원격 서버 연결을 허용합니다.
원격 서버 액세스가 작동하려면 로컬 컴퓨터와 원격 컴퓨터 모두에서 원격 액세스 구성 옵션을 1로 설정해야 합니다. (기본 설정입니다.) 원격 액세스 는 원격 서버의 로그인을 제어합니다. Transact-SQL sp_configure 저장 프로시저 또는 SQL Server Management Studio를 사용하여 이 구성 옵션을 다시 설정할 수 있습니다. SQL Server Management Studio의 서버 속성 연결 페이지에서 옵션을 설정하려면 이 서버에 대한 원격 연결 허용을 사용합니다. 서버 속성 연결 페이지에 도달하려면 개체 탐색기에서 서버 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 서버 속성 페이지에서 연결 페이지를 클릭합니다.
로컬 서버에서 원격 서버 구성을 사용하지 않도록 설정하여 연결된 원격 서버의 사용자가 해당 로컬 서버에 액세스하지 못하도록 할 수 있습니다.
원격 서버에 대한 보안
원격 서버에 대해 RPC(원격 프로시저 호출)를 사용하도록 설정하려면 원격 서버 및 SQL Server 인스턴스를 실행하는 로컬 서버에서 로그인 매핑을 설정해야 합니다. RPC는 SQL Server에서 기본적으로 사용하지 않도록 설정됩니다. 이 구성은 공격 가능한 노출 영역을 줄여 서버의 보안을 강화합니다. RPC를 사용하기 전에 이 기능을 사용하도록 설정해야 합니다. 자세한 내용은 sp_configure(Transact-SQL)를 참조하세요.
원격 서버 설정
원격 로그인 매핑은 원격 서버에서 설정해야 합니다. 이러한 매핑을 사용하여 원격 서버는 지정된 서버에서 로컬 로그인으로 RPC 연결에 대한 들어오는 로그인을 매핑합니다. 원격 로그인 매핑은 원격 서버에서 sp_addremotelogin 저장 프로시저를 사용하여 설정할 수 있습니다.
비고
SQL Server에서는 sp_remoteoption의 신뢰된 옵션이 지원되지 않습니다.
로컬 서버 설정
SQL Server 인증된 로컬 로그인의 경우 로컬 서버에서 로그인 매핑을 설정할 필요가 없습니다. SQL Server는 로컬 로그인 및 암호를 사용하여 원격 서버에 연결합니다. Windows 인증 로그인의 경우 원격 서버에 대한 RPC 연결을 만들 때 SQL Server 인스턴스에서 사용하는 로그인 및 암호를 정의하는 로컬 서버에서 로컬 로그인 매핑을 설정합니다.
Windows 인증에서 만든 로그인의 경우 sp_addlinkedservlogin 저장 프로시저를 사용하여 로그인 이름 및 암호에 대한 매핑을 만들어야 합니다. 이 로그인 이름 및 암호는 sp_addremotelogin 만든 원격 서버에서 예상하는 들어오는 로그인 및 암호와 일치해야 합니다.
비고
가능하면 Windows 인증을 사용하세요.
원격 서버 보안 예제
serverSend 및 serverReceive와 같은 SQL Server 설치를 고려합니다. serverReceive는 Sales_Mary 호출된 serverSend에서 들어오는 로그인을 alice라는 serverReceive의 SQL Server 인증 로그인에 매핑하도록 구성됩니다. Joe라고 하는 serverSend에서 들어오는 또 다른 로그인은 serverReceive의 SQL Server 인증 로그인(Joe)에 매핑됩니다.
다음 Transact-SQL 코드 예제는 serverSend을(를) 구성하여 serverReceive에 대해 RPC를 수행합니다.
--Create remote server entry for RPCs
--from serverSend in serverReceive.
EXEC sp_addserver 'serverSend';
GO
--Create remote login mapping for login 'Sales_Mary' from serverSend
--to Alice.
EXEC sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary';
GO
--Create remote login mapping for login Joe from serverReceive
--to same login.
--Assumes same password for Joe in both servers.
EXEC sp_addremotelogin 'serverSend', 'Joe', 'Joe';
GO
serverSend에서 Windows 인증 로그인 Sales\Mary에 대한 로컬 로그인 매핑이 Sales_Mary 생성됩니다. 기본적으로 동일한 로그인 이름과 암호를 사용하기 때문에 Joe에 대한 로컬 매핑이 필요하지 않습니다. 또한 serverReceive에는 Joe에 대한 매핑이 있습니다.
--Create a remote server entry for RPCs from serverReceive.
EXEC sp_addserver 'serverReceive';
GO
--Create a local login mapping for the Windows authenticated login.
--Sales\Mary to Sales_Mary. The password should match the
--password for the login Sales_Mary in serverReceive.
EXEC sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary',
'Sales_Mary', '430[fj%dk';
GO
로컬 또는 원격 서버 속성 보기
xp_msver 확장 저장 프로시저를 사용하여 로컬 또는 원격 서버에 대한 서버 특성을 검토할 수 있습니다. 이러한 특성에는 SQL Server의 버전 번호, 컴퓨터의 프로세서 유형 및 수 및 운영 체제 버전이 포함됩니다. 로컬 서버에서 원격 서버에 대한 데이터베이스, 파일, 로그인 및 도구를 볼 수 있습니다. 자세한 내용은 xp_msver(Transact-SQL)를 참조하세요.