SQL Server 서버 인스턴스 속성 정보 조회하기(버전 정보 등)
해당 서버에 설치된 SQL Server의 에디션이 무엇인지, 서비스 팩은 어디까지 적용이 되어 있는지, 혹은 32bit인지 64비트인지 등과 같은 서버 인스턴스에 대한 속성 정보가 필요할 경우가 종종 있다. 특히 수십 대 혹은 수백 대의 MS SQL Server를 관리하는 곳에서 관리 대장을 작성할 경우 더욱 그러할텐데, 본 포스트에서는 이 때 요긴하게 쓰일 SQL을 소개하고자 한다.
물론, @@version의 글로벌 변수를 이용해 간단하게 조회가 가능하나, 서비스 팩 설치 정보 등과 같이 조회되지 않는 항목도 있다. 이 때 SERVERPROPERTY 시스템 저장 프로시저를 이용하면 간단하게 해결할 수 있다.
SELECT SERVERPROPERTY ('productversion') AS ProductVersion GO
Result>> ProductVersion ProductLevel Edition |
속성 | 반환된 값 |
---|---|
BuildClrVersion |
SQL Server 인스턴스를 작성하는 동안 사용된 Microsoft .NET Framework CLR(공용 언어 런타임)의 버전
기본 데이터 형식: nvarchar(128) |
Collation |
서버의 기본 데이터 정렬 이름
NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: nvarchar(128) |
CollationID |
SQL Server 데이터 정렬의 ID
기본 데이터 형식: int |
ComparisonStyle |
데이터 정렬의 Windows 비교 스타일
기본 데이터 형식: int |
ComputerNamePhysicalNetBIOS |
SQL Server 인스턴스가 현재 실행되고 있는 로컬 컴퓨터의 NetBIOS 이름
장애 조치(Failover) 클러스터의 SQL Server 클러스터형 인스턴스에서 SQL Server 인스턴스가 장애 조치 클러스터의 다른 노드로 장애 조치되면 이 값이 변경된다. 독립 실행형 SQL Server 인스턴스에서 이 값은 일정하게 유지되며 MachineName 속성과 같은 값을 반환된다.
![]()
SQL Server 인스턴스가 장애 조치 클러스터에 있는 상태에서 장애 조치 클러스터형 인스턴스 이름을 가져오려는 경우 MachineName 속성을 사용할 것
NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: nvarchar(128) |
Edition |
SQL Server 인스턴스의 설치된 제품 버전
이 속성 값을 사용하여 설치된 제품에서 지원하는 기능 및 최대 CPU 수와 같은 제한을 확인한다. 64비트 버전의 데이터베이스 엔진에는 (64비트)가 추가된다..
'Desktop Engine'(SQL Server에는 사용할 수 없음) 'Developer Edition' 'Enterprise Edition' 'Enterprise Evaluation Edition' 'Personal Edition'(SQL Server에는 사용할 수 없음) 'Standard Edition' 'Express Edition' 'Express Edition with Advanced Services' 'Workgroup Edition' 'Windows Embedded SQL'
기본 데이터 형식: nvarchar(128) |
EditionID |
SQL Server 인스턴스의 설치된 제품 버전을 나타내는 ID 번호
이 속성 값을 사용하여 설치된 제품에서 지원하는 기능 및 최대 CPU 수와 같은 제한을 확인한다. -1253826760 = Desktop -1592396055 = Express -1534726760 = Standard 1333529388 = Workgroup 1804890536 = Enterprise -323382091 = Personal -2117995310 = Developer 610778273 = Enterprise Evaluation 1044790755 = Windows Embedded SQL 4161255391 = Express with Advanced Services
기본 데이터 형식: int |
EngineEdition |
서버에 설치된 SQL Server 인스턴스의 데이터베이스 엔진 버전
1 = 개인용 또는 데스크톱 엔진(SQL Server에는 사용할 수 없음) 2 = 스탠더드(스탠더드 및 워크그룹 버전인 경우 이 값이 반환됨) 3 = 엔터프라이즈(엔터프라이즈, 엔터프라이즈 평가 및 디벨로퍼 버전인 경우 이 값이 반환됨) 4 = 익스프레스(익스프레스, Express with Advanced Services 및 Windows Embedded SQL 버전인 경우 이 값이 반환됨)
기본 데이터 형식: int |
InstanceName |
사용자가 연결된 인스턴스의 이름
인스턴스 이름이 기본 인스턴스이거나 입력이 유효하지 않거나 오류일 경우에는 NULL을 반환한다.
기본 데이터 형식: nvarchar(128) |
IsClustered |
서버 인스턴스가 장애 조치 클러스터에 구성되어 있어 있다.
1 = 클러스터형 0 = 비클러스터형 NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: int |
IsFullTextInstalled |
전체 텍스트 구성 요소가 SQL Server의 현재 인스턴스에 설치되어 있는지 확인
1 = 전체 텍스트가 설치되었다. 0 = 전체 텍스트가 설치되지 않다. NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: int |
IsIntegratedSecurityOnly |
통합 보안 모드
1 = 통합 보안 모드이다. 0 = 통합 보안 모드가 아니다. NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: int |
IsSingleUser |
단일 사용자 모드
1 = 단일 사용자 모드이다. 0 = 단일 사용자 모드가 아니다. NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: int |
LCID |
데이터 정렬의 Windows LCID(로케일 ID) 기본 데이터 형식: int |
LicenseType |
SQL Server 인스턴스의 모드
PER_SEAT = 사용자 단위 모드 PER_PROCESSOR = 프로세서 단위 모드 DISABLED = 라이선스가 해제되었다.
기본 데이터 형식: nvarchar(128) |
MachineName |
서버 인스턴스가 실행 중인 Windows 컴퓨터 이름
Microsoft Cluster Service의 가상 서버에서 실행되는 SQL Server 클러스터형 인스턴스인 경우에는 가상 서버의 이름을 반환된다. NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: nvarchar(128) |
NumLicenses |
사용자 단위 모드일 경우 SQL Server 인스턴스에 대해 등록된 클라이언트 라이선스의 수
프로세서 단위 모드일 경우 SQL Server 인스턴스에 대해 허가된 프로세서의 수이다. 서버가 이 중 어느 것에도 해당하지 않으면 NULL을 반환한다.
기본 데이터 형식: int |
ProcessID |
SQL Server 서비스의 프로세스 ID
ProcessID는 인스턴스에 속하는 Sqlservr.exe를 식별하는 데 유용하다. NULL = 입력이 유효하지 않거나 오류입니다.
기본 데이터 형식: int |
ProductVersion |
SQL Server 인스턴스의 버전으로 'major.minor.build' 형식이다. 기본 데이터 형식: nvarchar(128) |
ProductLevel |
SQL Server 인스턴스의 버전 수준
'RTM' = 초기 릴리스 버전 'SPn' = 서비스 팩 버전 'CTP', = Community Technology Preview 버전
기본 데이터 형식: nvarchar(128) |
ResourceLastUpdateDateTime |
리소스 데이터베이스를 마지막으로 업데이트한 날짜와 시간을 반환한다.
기본 데이터 형식: datetime |
ResourceVersion |
리소스 데이터베이스 버전을 반환한다.
기본 데이터 형식: nvarchar(128) |
ServerName |
Windows 서버 및 지정된 SQL Server 인스턴스에 대한 인스턴스 정보
NULL = 입력이 유효하지 않거나 오류
기본 데이터 형식: nvarchar(128) |
SqlCharSet |
데이터 정렬 ID의 SQL 문자 집합 ID
기본 데이터 형식: tinyint |
SqlCharSetName |
데이터 정렬의 SQL 문자 집합 이름
기본 데이터 형식: nvarchar(128) |
SqlSortOrder |
데이터 정렬의 SQL 정렬 순서 ID
기본 데이터 형식: tinyint |
SqlSortOrderName |
데이터 정렬의 SQL 정렬 순서 이름
기본 데이터 형식: nvarchar(128) |
FilestreamShareName |
FILESTREAM이 사용하는 공유의 이름 |
FilestreamConfiguredLevel |
구성된 FILESTREAM 액세스 수준 |
FilestreamEffectiveLevel |
효과적인 FILESTREAM 액세스 수준
수준이 변경되었고 인스턴스 다시 시작이나 컴퓨터 다시 시작이 보류 중인 경우 이 값은 FilestreamConfiguredLevel과 다를 수 있다. |
