sp_serveroption(Transact-SQL)

적용 대상:SQL Server

원격 서버 및 연결된 서버용 서버 옵션을 설정합니다.

Transact-SQL 구문 규칙

구문

sp_serveroption [@server = ] 'server'   
      ,[@optname = ] 'option_name'       
      ,[@optvalue = ] 'option_value' ;  

인수

[ @server = ] 'server' 옵션을 설정할 서버의 이름입니다. serversysname이며 기본값은 없습니다.

[ @optname = ] 'option_name' 지정된 서버에 대해 설정하는 옵션입니다. option_namevarchar(35)이며 기본값은 없습니다. option_name 다음 값이 될 수 있습니다.

Description
데이터 정렬 호환 연결된 서버에 대한 분산 쿼리 실행에 영향을 줍니다. 이 옵션을 true로 설정하면 SQL Server 연결된 서버의 모든 문자가 문자 집합 및 데이터 정렬 시퀀스(또는 정렬 순서)와 관련하여 로컬 서버와 호환된다고 가정합니다. 이렇게 함으로써 SQL Server 에서 문자 열에 관한 비교를 공급자에 전달할 수 있습니다. 이 옵션을 설정하지 않으면 SQL Server 에서 항상 문자 열에 관한 비교를 로컬로 평가합니다.

이 옵션은 연결된 서버에 해당되는 데이터 원본이 로컬 서버와 동일한 문자 집합 및 정렬 순서를 갖고 있는 것이 확실한 경우에만 설정해야 합니다.
데이터 정렬 이름 원격 데이터 정렬 사용이 true이고 데이터 원본이 SQL Server 데이터 원본이 아닌 경우 원격 데이터 원본에서 사용하는 데이터 정렬의 이름을 지정합니다. 이름은 반드시 SQL Server에서 지원하는 데이터 정렬 중 하나여야 합니다.

SQL Server가 아닌 OLE DB 데이터 원본에 액세스할 때 해당 데이터 정렬이 SQL Server 데이터 정렬 중 하나와 일치하면 이 옵션을 사용하세요.

연결된 서버는 반드시 해당 서버의 모든 열에 대해 사용할 단일 데이터 정렬을 지원해야 합니다. 연결된 서버에서 단일 데이터 원본 내에 여러 데이터 정렬을 지원하거나 연결된 서버의 데이터 정렬이 SQL Server 데이터 정렬 중 하나와 일치하는지 확인할 수 없는 경우에는 이 옵션을 사용하지 않습니다.
연결 시간 제한 연결된 서버에 연결하기 위한 제한 시간 값(초)입니다.

0이면 sp_configure 기본값을 사용합니다.
데이터 액세스 분산 쿼리 액세스에 대해 연결된 서버의 사용 여부를 설정합니다. sp_addlinkedserver 통해 추가된 sys.server 항목에만 사용할 수 있습니다.
dist 배포자입니다.
지연된 스키마 유효성 검사 원격 테이블의 스키마 확인 여부를 결정합니다.

true이면 쿼리 시작 부분에 있는 원격 테이블의 스키마 검사를 건너뜁니다.
술집 게시자입니다.
쿼리 시간 제한 연결된 서버에 대한 쿼리의 제한 시간 값입니다.

0이면 sp_configure 기본값을 사용합니다.
Rpc 지정된 서버로부터의 RPC가 가능하도록 합니다.
rpc out 지정된 서버로의 RPC가 가능하도록 합니다.
sub 구독자입니다.
시스템 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.
원격 데이터 정렬 사용 원격 열의 데이터 정렬을 사용할지 로컬 서버의 데이터 정렬을 사용할지 결정합니다.

true이면 원격 열의 데이터 정렬이 SQL Server 데이터 원본에 사용되고 데이터 정렬 이름에 지정된 데이터 정렬은 SQL Server 데이터 원본이 아닌 데이터 원본에 사용됩니다. 기본값입니다.

false이면 분산 쿼리는 항상 로컬 서버의 기본 데이터 정렬을 사용하지만 데이터 정렬 이름과 원격 열의 데이터 정렬은 무시됩니다.
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 또는 기)하거나 사용하지 않도록 설정(FALSE 또는 해제)해야 하는지 여부를 지정합니다. option_valuevarchar(10)이며 기본값은 없습니다.

option_value연결 시간 제한쿼리 시간 제한 옵션에 대한 무연수 정수일 수 있습니다. 데이터 정렬 이름 옵션의 경우 option_value 데이터 정렬 이름 또는 NULL일 수 있습니다.

반환 코드 값

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

설명

데이터 정렬 호환 옵션이 TRUE로 설정된 경우 데이터 정렬 이름이 자동으로 NULL로 설정됩니다. 데이터 정렬 이름이 null이 아닌 값으로 설정된 경우 자동으로 호환되는 데이터 정렬이 FALSE로 설정됩니다.

사용 권한

서버에 대한 ALTER ANY LINKED SERVER 권한이 필요합니다.

예제

다음 예제에서는 SQL Server 로컬 인스턴스와 데이터 정렬 호환되도록 SQL Server SEATTLE3다른 인스턴스에 해당하는 연결된 서버를 구성합니다.

USE master;  
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true';  

관련 항목

분산 쿼리 저장 프로시저(Transact-SQL)
sp_adddistpublisher(Transact-SQL)
sp_addlinkedserver(Transact-SQL)
sp_dropdistpublisher(Transact-SQL)
sp_helpserver(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)