sp_serveroption(Transact-SQL)
원격 서버 및 연결된 서버용 서버 옵션을 설정합니다.
구문
sp_serveroption [@server = ] 'server'
,[@optname = ] 'option_name'
,[@optvalue = ] 'option_value' ;
인수
[ @server = ] 'server'
옵션을 설정할 서버의 이름입니다. server는 sysname이며 기본값은 없습니다.[ @optname = ] 'option_name'
지정한 서버에 설정할 옵션입니다. option_name은 varchar(35)이며 기본값은 없습니다. option_name은 다음 값 중 하나일 수 있습니다.값
설명
collation compatible
연결된 서버에 대한 분산 쿼리 실행에 영향을 줍니다. 이 옵션을 true로 설정하면 SQL Server에서는 연결된 서버의 모든 문자에 대한 문자 집합 및 데이터 정렬 시퀀스(또는 정렬 순서)가 로컬 서버와 호환된다고 가정합니다. 이렇게 함으로써 SQL Server에서 문자 열에 관한 비교를 공급자에 전달할 수 있습니다. 이 옵션을 설정하지 않으면 SQL Server에서 항상 문자 열에 관한 비교를 로컬로 평가합니다.
이 옵션은 연결된 서버에 해당되는 데이터 원본이 로컬 서버와 동일한 문자 집합 및 정렬 순서를 갖고 있는 것이 확실한 경우에만 설정해야 합니다.
collation name
use remote collation이 true이고 데이터 원본이 SQL Server가 아닌 경우에 원격 데이터 원본에서 사용하는 데이터 정렬의 이름을 지정합니다. 이름은 반드시 SQL Server에서 지원하는 데이터 정렬 중 하나여야 합니다.
SQL Server가 아닌 OLE DB 데이터 원본에 액세스할 때 해당 데이터 정렬이 SQL Server 데이터 정렬 중 하나와 일치하면 이 옵션을 사용하십시오.
연결된 서버는 반드시 해당 서버의 모든 열에 대해 사용할 단일 데이터 정렬을 지원해야 합니다. 연결된 서버에서 단일 데이터 원본 내에 여러 데이터 정렬을 지원하거나 연결된 서버의 데이터 정렬이 SQL Server 데이터 정렬 중 하나와 일치하는지 확인할 수 없는 경우에는 이 옵션을 사용하지 않습니다.
connect timeout
연결된 서버에 연결하는 제한 시간 값(초)입니다.
0으로 설정한 경우 sp_configure 기본값을 사용합니다.
data access
분산 쿼리 액세스에 대해 연결된 서버를 사용하거나 사용하지 않습니다. sp_addlinkedserver를 통해 추가된 sys.server 항목에 대해서만 사용할 수 있습니다.
dist
배포자입니다.
지연된 스키마 유효성 검사
원격 테이블의 스키마 확인 여부를 결정합니다.
true인 경우 쿼리 시작 부분에서 수행되는 원격 테이블에 대한 스키마 확인은 건너뜁니다.
pub
게시자입니다.
query timeout
연결된 서버에 대한 쿼리의 제한 시간 값입니다.
0으로 설정한 경우 sp_configure 기본값을 사용합니다.
rpc
지정된 서버로부터의 RPC가 가능하도록 합니다.
rpc out
지정된 서버로의 RPC가 가능하도록 합니다.
sub
구독자입니다.
시스템
정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
원격 데이터 정렬 사용
원격 열의 데이터 정렬을 사용할지 로컬 서버의 데이터 정렬을 사용할지 결정합니다.
true로 설정하면 SQL Server 데이터 원본에 원격 열의 데이터 정렬이 사용되고 SQL Server가 아닌 데이터 원본에 대해서는 collation name에 지정된 데이터 정렬이 사용됩니다.
false로 설정된 경우 분산 쿼리가 항상 로컬 서버의 기본 데이터 정렬을 사용하며 collation name 및 원격 열의 데이터 정렬은 무시됩니다. 기본값은 false입니다. false 값은 SQL Server 7.0에서 사용하는 데이터 정렬 방식과 호환됩니다.
remote proc transaction promotion
이 옵션을 사용하여 MS DTC(Microsoft Distributed Transaction Coordinator) 트랜잭션을 통해 서버 간 프로시저 동작을 보호할 수 있습니다. 이 옵션이 TRUE(또는 ON)인 경우 원격 저장 프로시저를 호출하면 분산 트랜잭션이 시작되고 MS DTC를 사용해 이 트랜잭션을 참여시킵니다. 원격 저장 프로시저를 호출하는 SQL Server 인스턴스가 트랜잭션 주관자이며 트랜잭션의 완료를 제어합니다. 이후 연결에 대해 COMMIT TRANSACTION 또는 ROLLBACK TRANSACTION 문을 실행하면 제어 인스턴스는 MS DTC에서 관련 컴퓨터 간의 분산 트랜잭션 완료를 관리하도록 요청합니다.
Transact-SQL 분산 트랜잭션이 시작되면 연결된 서버로 정의된 SQL Server의 다른 인스턴스에 대해 원격 저장 프로시저를 호출할 수 있습니다. 연결된 서버를 모두 Transact-SQL 분산 트랜잭션에 참여시키고 MS DTC는 각 연결된 서버에 대해 트랜잭션이 완료되도록 합니다.
이 옵션을 FALSE(또는 OFF)로 설정하면 연결된 서버에서 원격 프로시저를 호출하는 동안에는 로컬 트랜잭션이 분산 트랜잭션으로 승격되지 않습니다.
서버 간 프로시저 호출을 수행하기 전에 트랜잭션이 이미 분산 트랜잭션인 경우 이 옵션은 영향을 주지 않습니다. 연결된 서버에 대한 프로시저 호출은 동일 분산 트랜잭션에서 실행됩니다.
서버 간 프로시저 호출을 수행하기 전에 연결에 활성 상태인 트랜잭션이 없는 경우 이 옵션은 영향을 주지 않습니다. 그런 다음 활성 상태의 트랜잭션 없이 연결된 서버에 대해 프로시저가 실행됩니다.
이 옵션의 기본값은 TRUE(또는 ON)입니다.
[ @optvalue =] 'option_value'
option_name이 설정(TRUE 또는 on)되거나 해제(FALSE 또는 off)되어야 하는지 여부를 지정합니다. option_value는 varchar(10)이며 기본값은 없습니다.option_value는 connect timeout 및 query timeout 옵션 값에 해당하는 음수가 아닌 정수가 될 수 있습니다. collation name 옵션의 경우 option_value는 데이터 정렬 이름 또는 NULL이 될 수 있습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
collation compatible 옵션이 TRUE로 설정되면 collation name은 자동으로 NULL로 설정됩니다. collation name이 Null이 아닌 값으로 설정되면 collation compatible은 자동으로 FALSE로 설정됩니다.
사용 권한
서버에 대한 ALTER ANY LINKED SERVER 권한이 필요합니다.
예
다음 예에서는 SQL Server 인스턴스인 SEATTLE3에 해당하는 연결된 서버를 구성하여 SQL Server의 로컬 인스턴스와 데이터 정렬이 호환되도록 합니다.
USE master;
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true';
참고 항목
참조
sp_adddistpublisher(Transact-SQL)
sp_addlinkedserver(Transact-SQL)