다음을 통해 공유


sp_addserver(Transact-SQL)

적용 대상: SQL Server

SQL Server의 로컬 인스턴스 이름을 정의합니다. SQL Server를 호스팅하는 컴퓨터의 이름이 바뀌면 새 컴퓨터 이름을 데이터베이스 엔진 SQL Server 인스턴스에 알리는 데 사용합니다sp_addserver. 이 프로시저는 컴퓨터에서 호스트되는 데이터베이스 엔진 모든 인스턴스에서 실행되어야 합니다.

데이터베이스 엔진 인스턴스 이름은 변경할 수 없습니다. 명명된 인스턴스의 인스턴스 이름을 변경하려면 원하는 이름으로 새 인스턴스를 설치하고, 이전 인스턴스에서 데이터베이스 파일을 분리하고, 데이터베이스를 새 인스턴스에 연결하고, 이전 인스턴스를 삭제합니다. 또는 클라이언트 컴퓨터에서 클라이언트 별칭 이름을 만들어 서버 컴퓨터의 인스턴스 이름을 변경하지 않고 다른 서버와 인스턴스 이름 또는 <server>:<port> 조합으로 연결을 리디렉션할 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

sp_addserver
    [ @server = ] N'server'
    [ , [ @local = ] 'LOCAL' ]
    [ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]

인수

[ @server = ] N'server'

서버의 이름입니다. 서버 이름은 고유해야 하며, 공백은 허용되지 않지만 Windows 컴퓨터 이름에 대한 규칙을 따라야 합니다. @server 기본값이 없는 sysname입니다.

SQL Server의 여러 인스턴스가 컴퓨터에 설치되면 인스턴스는 별도의 서버에 있는 것처럼 작동합니다. @server <servername>\<instancename>참조하여 명명된 인스턴스를 지정합니다.

[ @local = ] 'LOCAL'

서버를 로컬 서버로 추가되도록 지정합니다. @local 기본값NULL인 varchar(10)입니다. @local LOCAL 지정하면 @server 로컬 서버의 이름으로 정의되고 함수가 @@SERVERNAME @server 값을 반환합니다.

SQL Server 설치 프로그램은 설치 중에 이 변수를 컴퓨터 이름으로 설정합니다. 기본적으로 컴퓨터 이름은 사용자가 추가 구성 없이 SQL Server 인스턴스에 연결하는 방법입니다.

로컬 정의는 데이터베이스 엔진 다시 시작한 후에만 적용됩니다. 데이터베이스 엔진 각 인스턴스에서 하나의 로컬 서버만 정의할 수 있습니다.

[ @duplicate_ok = ] 'duplicate_OK'

중복된 서버 이름을 사용할 수 있는지 여부를 지정합니다. @duplicate_ok 기본값NULL인 varchar(13)입니다. @duplicate_ok 값 duplicate_OK 또는 NULL. @duplicate_ok 지정되고 추가되는 서버 이름이 이미 있는 경우 오류가 발생하지 않습니다. 명명된 매개 변수를 사용하지 않는 경우 @local 지정해야 합니다.

반환 코드 값

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

설명

서버 옵션을 설정하거나 지우려면 .를 사용합니다 sp_serveroption.

sp_addserver 는 사용자 정의 트랜잭션 내에서 사용할 수 없습니다.

원격 서버를 추가하는 데 사용하는 sp_addserver 것은 중단됩니다. 대신 sp_addlinkedserver 사용합니다.

로컬 서버 이름을 변경하는 데 사용하면 sp_addserver 가용성 그룹 또는 복제를 사용할 때 원치 않는 효과 또는 지원되지 않는 구성이 발생할 수 있습니다.

사용 권한

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

예제

다음 예제에서는 SQL Server를 호스팅하는 컴퓨터의 이름에 대한 데이터베이스 엔진 항목을 변경합니다ACCOUNTS.

EXEC sp_addserver 'ACCOUNTS', 'local';