sp_configure(Transact-SQL)

현재 서버에 대한 전역 구성 설정을 표시하거나 변경합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_configure [ [ @configname = ] 'option_name' 
    [ , [ @configvalue = ] 'value' ] ] 

인수

  • [ @configname= ] 'option_name'
    구성 옵션의 이름입니다. option_name은 varchar(35)이며 기본값은 NULL입니다. SQL Server 데이터베이스 엔진에서는 구성 이름의 일부인 고유 문자열을 모두 인식합니다. 이 인수를 지정하지 않으면 옵션의 전체 목록이 반환됩니다.

    사용 가능한 구성 옵션 및 해당 설정에 대한 자세한 내용은 서버 구성 옵션 설정을 참조하십시오.

  • [ @configvalue= ] 'value'
    새로운 구성 설정입니다. value는 int이며 기본값은 NULL입니다. 최대값은 개별 옵션에 따라 달라집니다.

    각 옵션의 최대값을 보려면 sys.configurations 카탈로그 뷰의 maximum 열을 참조하십시오.

반환 코드 값

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

결과 집합

sp_configure를 매개 변수 없이 실행하면 열이 5개인 결과 집합이 반환되고 다음 표와 같이 옵션이 알파벳 오름차순으로 정렬됩니다.

config_valuerun_value의 값은 자동으로 일치되지 않습니다. sp_configure를 사용하여 구성 설정을 업데이트한 후 시스템 관리자는 RECONFIGURE 또는 RECONFIGURE WITH OVERRIDE를 사용하여 실행 중인 구성 값을 업데이트해야 합니다. 자세한 내용은 주의 섹션을 참조하십시오.

열 이름

데이터 형식

설명

name

nvarchar(35)

구성 옵션의 이름입니다.

minimum

int

구성 옵션의 최소값입니다.

maximum

int

구성 옵션의 최대값입니다.

config_value

int

sp_configure를 사용하여 설정한 구성 옵션 값(sys.configurations.value에 있는 값)입니다. 이러한 옵션에 대한 자세한 내용은 서버 구성 옵션 설정sys.configurations(Transact-SQL)를 참조하십시오.

run_value

int

현재 실행 중인 구성 옵션 값(sys.configurations.value_in_use에 있는 값)입니다.

자세한 내용은 sys.configurations(Transact-SQL)를 참조하십시오.

주의

서버 수준의 설정을 표시하거나 변경하려면 sp_configure를 사용합니다. 데이터베이스 수준의 설정을 변경하려면 ALTER DATABASE를 사용합니다. 현재 사용자 세션에만 적용되는 설정을 변경하려면 SET 문을 사용합니다.

실행 중인 구성 값 업데이트

option에 새 value를 지정하면 결과 집합의 config_value 열에 이 값이 표시됩니다. 처음에 이 값은 현재 실행 중인 구성 값을 표시하는 run_value 열의 값과 다릅니다. run_value 열에서 실행 중인 구성 값을 업데이트하려면 시스템 관리자가 RECONFIGURE 또는 RECONFIGURE WITH OVERRIDE를 실행해야 합니다.

RECONFIGURE와 RECONFIGURE WITH OVERRIDE는 둘 다 모든 구성 옵션에 사용할 수 있습니다. 그러나 기본 RECONFIGURE 문은 적당한 범위 밖에 있는 옵션 값이나 옵션 간에 충돌을 일으킬 수 있는 옵션 값을 거부합니다. 예를 들어 recovery interval 값이 60분보다 크거나 affinity mask 값이 affinity I/O mask 값과 겹치는 경우 RECONFIGURE는 오류를 생성합니다. 이와 달리 RECONFIGURE WITH OVERRIDE는 데이터 형식만 맞으면 모든 옵션 값을 허용하며 지정된 값으로 다시 구성합니다.

주의 사항주의

옵션 값을 잘못 설정하면 역으로 서버 인스턴스 구성에 영향을 줄 수 있습니다. RECONFIGURE WITH OVERRIDE는 매우 주의를 기울여 사용해야 합니다.

RECONFIGURE 문은 일부 옵션을 동적으로 업데이트합니다. 그 외의 옵션을 업데이트하려면 서버를 중지하고 다시 시작해야 합니다. 예를 들어 min server memorymax server memory 서버 메모리 옵션은 데이터베이스 엔진에서 동적으로 업데이트되므로 서버를 다시 시작하지 않고 변경할 수 있습니다. 그러나 실행 중인 fill factor 옵션 값을 다시 구성하려면 데이터베이스 엔진을 다시 시작해야 합니다.

구성 옵션에서 RECONFIGURE를 실행한 후 **sp_configure'option_name'**을 실행하면 옵션이 동적으로 업데이트되었는지 확인할 수 있습니다. 동적으로 업데이트되는 옵션으로서 run_value 열과 config_value 열의 값은 일치해야 합니다. 또한 sys.configurations 카탈로그 뷰의 is_dynamic 열을 보면 동적으로 업데이트되는 옵션을 확인할 수 있습니다.

[!참고]

옵션에 지정한 value가 너무 높을 경우 run_value 열은 적합하지 않은 설정을 사용하는 대신 데이터베이스 엔진에서 동적 메모리에 대해 기본적으로 갖고 있는 설정을 반영합니다.

자세한 내용은 RECONFIGURE(Transact-SQL)를 참조하십시오.

고급 옵션

affinity maskrecovery interval과 같은 일부 구성 옵션은 고급 옵션으로 지정됩니다. 기본적으로 이 옵션은 보거나 변경할 수 없습니다. 이 옵션을 사용하려면 ShowAdvancedOptions 구성 옵션을 1로 설정합니다.

구성 옵션 및 해당 설정에 대한 자세한 내용은 서버 구성 옵션 설정을 참조하십시오.

사용 권한

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. sysadminserveradmin 고정 서버 역할은 ALTER SETTINGS 권한을 암시적으로 보유하고 있습니다.

1. 고급 구성 옵션 나열

다음 예에서는 모든 구성 옵션을 설정하고 나열하는 방법을 보여 줍니다. 먼저 show advanced option을 1로 설정하면 고급 구성 옵션이 표시됩니다. 이 옵션을 변경한 다음 매개 변수 없이 sp_configure를 실행하면 모든 구성 옵션이 표시됩니다.

USE master;
GO
EXEC sp_configure 'show advanced option', '1';

메시지는 다음과 같습니다. "구성 옵션 'show advanced options'이(가) 0에서 1(으)로 변경되었습니다. RECONFIGURE 문을 실행하여 설치하십시오."

RECONFIGURE를 실행하여 모든 구성 옵션을 표시합니다.

RECONFIGURE;
EXEC sp_configure;

2. 구성 옵션 변경

다음 예에서는 시스템 recovery interval을 3분으로 설정합니다.

USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;