sp_setnetname(Transact-SQL)
sys.servers의 네트워크 이름을 SQL Server의 원격 인스턴스에 대한 실제 네트워크 컴퓨터 이름으로 설정합니다. 이 프로시저를 사용하여 잘못된 SQL Server 식별자를 포함하는 네트워크 이름을 가진 컴퓨터에 원격 저장 프로시저 호출을 실행할 수 있습니다.
구문
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을 사용하여 연결된 서버를 로컬 서버로 다시 가리키는 방식은 지원되지 않습니다. 이런 방법으로 참조된 서버는 분산 트랜잭션에 참여할 수 없습니다.
사용 권한
sysadmin 및 setupadmin 고정 서버 역할의 멤버 자격이 필요합니다.
예
다음 예에서는 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)