sp_addserver(Transact-SQL)
적용 대상: SQL Server
SQL Server의 로컬 인스턴스 이름을 정의합니다. SQL Server를 호스팅하는 컴퓨터의 이름이 바뀌면 새 컴퓨터 이름을 데이터베이스 엔진 SQL Server 인스턴스에 알리는 데 사용합니다sp_addserver
. 이 프로시저는 컴퓨터에서 호스트되는 데이터베이스 엔진 모든 인스턴스에서 실행되어야 합니다.
데이터베이스 엔진 인스턴스 이름은 변경할 수 없습니다. 명명된 인스턴스의 인스턴스 이름을 변경하려면 원하는 이름으로 새 인스턴스를 설치하고, 이전 인스턴스에서 데이터베이스 파일을 분리하고, 데이터베이스를 새 인스턴스에 연결하고, 이전 인스턴스를 삭제합니다. 또는 클라이언트 컴퓨터에서 클라이언트 별칭 이름을 만들어 서버 컴퓨터의 인스턴스 이름을 변경하지 않고 다른 서버와 인스턴스 이름 또는 <server>:<port>
조합으로 연결을 리디렉션할 수 있습니다.
구문
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';