원격 서버
적용 대상: SQL Server
원격 서버는 이전 버전과의 호환성을 위해 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 인스턴스를 실행하는 로컬 서버에서 로그인 매핑을 설정해야 합니다. SQL Server에서는 RPC가 기본적으로 비활성화되어 있습니다. 이 구성은 공격 가능한 노출 영역을 줄여 서버의 보안을 강화합니다. RPC를 사용하기 전에 이 기능을 활성화해야 합니다. 자세한 내용은 sp_configure(Transact-SQL)를 참조하세요.
원격 서버 설정
원격 로그인 매핑은 원격 서버에서 설정해야 합니다. 원격 서버에서는 이 매핑을 사용하여 지정된 서버와의 RPC 연결에 대한 수신 로그인을 로컬 로그인으로 매핑합니다. 원격 로그인 매핑은 원격 서버의 sp_addremotelogin 저장 프로시저를 사용하여 설정할 수 있습니다.
참고 항목
SQL Server에서는 sp_remoteoption의 trusted 옵션이 지원되지 않습니다.
로컬 서버 설정
SQL Server 인증된 로컬 로그인의 경우 로컬 서버에서 로그인 매핑을 설정할 필요가 없습니다. SQL Server는 로컬 로그인 및 암호를 사용하여 원격 서버에 연결합니다. Windows 인증 로그인에 대해서는 SQL Server의 인스턴스가 원격 서버에 RPC 연결을 할 때 사용할 로그인과 암호를 정의하는 로컬 로그인 매핑을 로컬 서버에 설정합니다.
Windows 인증에서 만든 로그인의 경우 사용자는 sp_addlinkedservlogin 저장 프로시저를 사용하여 로그인 이름 및 암호에 대한 매핑을 만들어야 합니다. 이 로그인 이름 및 암호는 sp_addremotelogin에서 만든 원격 서버에서 예상되고 수신되는 로그인 및 암호와 일치해야 합니다.
참고 항목
가능하면 Windows 인증을 사용하세요.
원격 서버 보안 예시
serverSend 및 serverReceive와 같은 SQL Server 설치를 고려합니다. serverReceive는 serverSend로부터의 Sales_Mary라는 수신 로그인을 serverReceive의 Alice라는 인증 로그인에 매핑하도록 구성되어 있습니다. serverSend로부터의 Joe라는 또 다른 수신 로그인은 serverReceive의 Joe라는 인증 로그인에 매핑됩니다.
다음 Transact-SQL 코드 예제에서는 serverReceive
에 대해 RPC를 수행하도록 serverSend
을 구성합니다.
--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)을 참조하세요.