sp_configure(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_value와 run_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 memory 및 max server memory 서버 메모리 옵션은 데이터베이스 엔진에서 동적으로 업데이트되므로 서버를 다시 시작하지 않고 변경할 수 있습니다. 그러나 실행 중인 fill factor 옵션 값을 다시 구성하려면 데이터베이스 엔진을 다시 시작해야 합니다.
구성 옵션에서 RECONFIGURE를 실행한 후 sp_configure **'option_name'**을 실행하면 옵션이 동적으로 업데이트되었는지 확인할 수 있습니다. 동적으로 업데이트되는 옵션으로서 run_value 열과 config_value 열의 값은 일치해야 합니다. 또한 sys.configurations 카탈로그 뷰의 is_dynamic 열을 보면 동적으로 업데이트되는 옵션을 확인할 수 있습니다.
[!참고]
옵션에 지정한 value가 너무 높을 경우 run_value 열은 적합하지 않은 설정을 사용하는 대신 데이터베이스 엔진에서 동적 메모리에 대해 기본적으로 갖고 있는 설정을 반영합니다.
자세한 내용은 RECONFIGURE(Transact-SQL)를 참조하십시오.
고급 옵션
affinity mask나 recovery interval과 같은 일부 구성 옵션은 고급 옵션으로 지정됩니다. 기본적으로 이 옵션은 보거나 변경할 수 없습니다. 이 옵션을 사용하려면 Show Advanced Options 구성 옵션을 1로 설정합니다.
구성 옵션 및 해당 설정에 대한 자세한 내용은 서버 구성 옵션을 참조하십시오.
사용 권한
매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. sysadmin 및 serveradmin 고정 서버 역할은 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;
참고 항목
참조
sys.configurations(Transact-SQL)