sp_setnetname(Transact-SQL)

sys.servers의 네트워크 이름을 SQL Server의 원격 인스턴스에 대한 실제 네트워크 컴퓨터 이름으로 설정합니다. 이 프로시저를 사용하여 잘못된 SQL Server 식별자를 포함하는 네트워크 이름을 가진 컴퓨터에 원격 저장 프로시저 호출을 실행할 수 있습니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

sp_setnetname 
@server = 'server', 
     @netname = 'network_name'

인수

  • @server = ' server '
    사용자가 코드화한 원격 저장 프로시저 호출 구문에서 참조되는 원격 서버의 이름입니다. 이 server를 사용하려면 sys.servers에 정확히 한 행이 이미 있어야 합니다. server는 sysname이며 기본값은 없습니다.

  • @netname =' network_name '
    원격 저장 프로시저 호출이 수행되는 컴퓨터의 네트워크 이름입니다. network_name은 sysname이며 기본값은 없습니다.

    이 이름은 반드시 Microsoft Windows 컴퓨터 이름과 일치해야 하며 SQL Server 식별자에 사용할 수 없는 문자를 포함할 수 있습니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

없음

주의

컴퓨터 이름에 잘못된 식별자가 있는 경우 Windows 컴퓨터에 일부 원격 저장 프로시저를 호출하면 문제가 발생할 수 있습니다.

연결된 서버와 원격 서버는 같은 네임스페이스에 있으므로 이름이 같으면 안 됩니다. 그러나 다른 이름을 할당한 다음 sp_setnetname을 사용하여 그 이름 중 하나의 네트워크 이름을 기본 서버의 네트워크 이름으로 설정함으로써 지정한 서버에 대해 연결된 서버 및 원격 서버를 모두 정의할 수 있습니다.

--Assume sqlserv2 is actual name of SQL Server 
--database server
EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';

[!참고]

sp_setnetname을 사용하여 연결된 서버를 로컬 서버로 다시 가리키는 방식은 지원되지 않습니다. 이런 방법으로 참조된 서버는 분산 트랜잭션에 참여할 수 없습니다.

사용 권한

sysadminsetupadmin 고정 서버 역할의 멤버 자격이 필요합니다.

다음 예에서는 SQL Server에서 원격 저장 프로시저 호출을 실행하는 데 사용되는 일반적인 관리 시퀀스를 보여 줍니다.

USE master;
GO
EXEC sp_addserver 'Win_1';
EXEC sp_setnetname 'Win_1','Win-1';
EXEC Win_1.master.dbo.sp_who;

참고 항목

참조

데이터베이스 엔진 저장 프로시저(Transact-SQL)

sp_addlinkedserver(Transact-SQL)

sp_addserver(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)